問題タブ [include-path]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - xcodeインクルードパスの競合
MSVSで#include<someHeader>を実行すると、#include"someheader"に含まれているヘッダーとは別のフォルダーで検索されます。同じことがxcodeにもあるはずですが、機能しないようです。このため、stdヘッダー(String.hなど)と同じ名前のローカルヘッダーと競合し、stdヘッダーを含めることができません。プロジェクトオプション「常にユーザーパスを検索する」を変更しようとしましたが、それでも機能しません。このオプションからのヘルプメッセージは、それが私の問題を解決するだろうと言っていますが...
有効にすると、#include<header.h>スタイルと#include"header.h"スタイルの両方のディレクティブが「HeaderSearchPaths」の前にある「UserHeaderSearch Paths」のパスを検索し、その結果、ユーザーヘッダー( #include <header.h>を使用する場合、独自のString.hヘッダーとして)がシステムヘッダーよりも優先されます。これは、「ユーザーヘッダー検索パス」で提供されるパスの-iquoteフラグを使用して行われます。無効になっていて、コンパイラが個別のユーザーパスを完全にサポートしている場合、ユーザーヘッダーには次の方法でのみアクセスできます。
「header.h」スタイルのプリプロセッサディレクティブをインクルードします。
下位互換性の理由から、この設定はデフォルトで有効になっていますが、無効にすることを強くお勧めします。[ALWAYS_SEARCH_USER_PATHS]
これを解決する方法を知っていますか?ヘッダーファイルの名前を変更したり、プロジェクト設定から検索パスを削除したり、ローカルファイル(../../ ... /SomeFolder/SomeHeader.h)への相対パスを使用したりしたくありません。
selenium-rc - Selenium RC - クラス PHPUnit_Framework_TestCase を再宣言できません
これは、さまざまな場所でネット上で見つけましたが、実際の解決策はありません。テストを実行するためのデフォルトのコードは
これにより、次のエラーが表示されます
Fatal error: Cannot redeclare class PHPUnit_Framework_TestCase in /usr/lib/php/PHPUnit/Framework/TestCase.php on line 115
私のインクルードパスは次のようになります
.:/usr/lib/php/ZendLatest/library/:/usr/lib/php/:./PEAR/
誰でもこれを修正するのを手伝ってもらえますか? クラスが再宣言されている場所は明らかではありません。上記のファイルの 115 行目ですか、それとも別の場所ですか?
ありがとう
include - include_path が php.ini で指定されたとおりに更新されない
php.ini に include_path を設定しました。
それから私は電話しますphpinfo()
で指定したものとinclude_path
は異なりますphp.ini
。
何が原因でしょうか?
phpinfo()
呼び出しで「ロードされた構成ファイル」で指定されたのと同じ php.ini を変更しました。php が apache モジュール経由で呼び出され、apache を再起動しました - これも役に立ちません。
Windows Vista、Apache/2.2.14 (Win32) PHP/5.3.1 を使用しています。
PHP ファイルの先頭で呼び出しset_include_path("...")
ますが、これは一時的な回避策としてのみ有効です。
php - パスの混乱:DOCUMENT_ROOTに対して相対的/絶対的/相対的?
私はPHPを学び始めたばかりで、ほとんど同じような質問に対するいくつかの回答を読みましたが、役に立ちませんでした。
私はいくつかのファイルを持っています:
index.php
含まれているのでfolder1\file.php
、それは本当に簡単です。次に、をfolder1\file.php
含みfolder2\file.php
ます。私が読んでいる本はこれをするように言っています私はこれを中に書かなければなりませんfolder1\file.php
:
それで、基本的になぜ彼らはこれをしなかったのですか?
私が理解している限り、すべてのパスは常に最初のスクリプトの場所を基準にしており、私のマシンでは問題なく機能します。
.\folder\file.php
ディレクトリを深く移動したり、Webサイト全体を別のマシンにコピーしたりしても、機能し続ける 理由がまだわかりません 。
マニュアルによると:パスが定義されている場合(絶対(ドライブ文字または\
Windows、 Unix / Linuxシステムで始まる)または現在のディレクトリからの相対パス(または/
で始まる))、インクルードパスは完全に無視されます。たとえば、ファイル名が。で始まる場合、パーサーは親ディレクトリを検索します。.
..
../
php - PHPには、htaccess、allow_url_fopenが含まれます
シナリオ:ホストサーバーでの開発、htaccess =基本認証、allow_url_fopen=オン
問題:ファイルをURLの場所でインクルードすると、htaccessがインクルードをブロックし、401エラーを返します。
既知の解決策:相対パス(../)、$ _SERVER['DOCUMENT_ROOT']。
質問:別の方法はありますか?このシナリオでは、可能であればURLを保持したいと思います。また、フッターにインクルードファイルを使用していますが、代わりにtplを使用する必要があります(tplについては何も知りません)。
編集:私は現在、私のフォルダ構造を台無しにしています。example.comとsecure.example.com(sslがインストールされている場所)があります。したがって、安全なフォルダにルートからのファイルを含めたいと思います。'document_root'呼び出しは(rootではなく)安全なフォルダーにしか移動せず、ファイルを移動すると相対パスが機能しない可能性があるため、URLを使用した方が簡単かもしれないと思いました。
c++ - ライブラリインクルードパスをbashから変更するにはどうすればよいですか?
Kubuntuにソフトウェアが正しくインストールされています。
現在、いくつかのライブラリにパッチを適用してテストしています。
公式ライブラリの代わりにパッチを適用したライブラリをロードするように、bashからソフトウェアを起動するにはどうすればよいですか?
例:
公式ライブラリは/ usr / lib /にあり
ます私のパッチライブラリ(テスト開発中に使用されます)は/ home / user / dev /lib/にあります
私は試した:
しかし、役に立たない。
bashから設定できるソリューションが望ましいのですが、それが不可能な場合は、このC++ソフトウェアのcmakeファイルを変更することもできます。
目的は、バニラライブラリ、またはパッチを適用したライブラリを使用してアプリケーションを簡単に起動し、違いを確認できるようにすることです。
編集:それはKDE.soファイルです
私がテストしているライブラリはKDE4ライブラリです。公式ライブラリは/usr/ lib /kde4/にあります。そのディレクトリでは、ライブラリのいずれもlibプレフィックス で始まりません。
私がするかどうか:
また
ライブラリはまったくリストされていません。
一方、元のライブラリを/ usr / lib / kde4 /から移動すると、アプリケーションは起動しますが、対応する機能が失われます。
KDE4ライブラリは特定の方法でロードされますか?設定する変数が違うかもしれません...
編集2
すべての答えは良くて便利です...残念ながら、問題はlibパス設定に関連していないようです。プラグインアーキテクチャを扱っていますが、.soロードパスがアプリケーションのどこかにハードコーディングされているようです。何が起こっているのかを理解するために、ソースコード内でもっと時間を費やす必要があります...すべてに感謝し、+1します。
c++ - GCCのデフォルトのインクルードディレクトリは何ですか?
gccを使用して非常に単純なソースファイルをコンパイルする場合、stdioやstdlibなどの標準のインクルードファイルへのパスを指定する必要はありません。
GCCはこれらのファイルを見つける方法をどのように知っていますか?
/usr/include
内部にパスが配線されていますか、それとも他のOSコンポーネントからパスを取得しますか?
file - Webサーバー上の同じレベルにあるファイルをどのように参照しますか?
register.phpでheader.incを参照したいのですが、どうすればよいですか?
php - Eclipse PDTの内部では、プロジェクトプロパティの「PHPインクルードパス」の目的は何ですか?
phpエクスプローラーでプロジェクトフォルダーを右クリックすると、php.iniのinclude_pathプロパティを編集しない「Phpincludepath」オプションがあります。したがって、このオプションを使用してインクルードパスを指定しても、プロジェクトと同じですが、その目的は何ですか?
php - include_path OSX 10.6.6 + PHP 5.3.3 + PEAR で起こりうる問題
わかりました。始める前に、OSX/BSD の話題に関しては、私は完全に無知であるとだけ言っておくべきだと思います。私は過去 1 週間ほど MBP を取得したばかりで、HEAPS を学習しています。それにもかかわらず、私はまだいくつかのことを頭に入れようとしているので、優しくしてください. :)
さて、私の問題に進みます。数日間、ローカル開発環境をセットアップしようとしています。OS に付属の Apache 2.2 と PHP 5.3.3 を有効にしました。また、MySQL、Homebrew を手動でインストールし、BIND をセットアップしました (vhost の管理を容易にするため)。PEAR もインストールする必要があることに気付くまで、すべてがうまく機能しているように見えました。
残念ながら、私の会社の製品の重要な部分の多くは PEAR ライブラリに大きく依存しているため、先に進む前にすべてが稼働していることを確認する必要がありました。PEAR をインストールするには、次の手順を実行しました。
- $ cd /usr/local/
- $ カールhttp://pear.php.net/go-pear | 須藤php
- $ php -q go-pear.php
- PEAR のインストール手順に進む
- $ mate ~/.bash_profile
- /usr/local/bin を $PATH 変数に追加しました
- 保存して閉じた TextMate
- $ which pear (PEAR 実行可能ファイルの場所を確認)
- $ php -r "phpinfo();" | | grep '.ini' (現在の php.ini の場所を確認するため)
- $ mate /etc/php.ini
- 「include_path」設定を「.:/usr/local/PEAR」に変更しました
- 保存して閉じた TextMate
- $ sudo apachectl 再起動
- 結果に満足したので、いくつかの重要な PEAR パッケージ (HTTP、NET など) のインストールを開始します。
次に、SVN リポジトリの 1 つの最新リビジョンのチェックアウトを終了し、アプリをインストールします。ブラウザ経由でアクセスしようとすると、次のようなエラーが発生します。
これらのファイルの場所を確認できます。それらは存在し、適切なディレクトリにあります。私の理解では、'.:/usr/local/PEAR' の 'include_path' を使用すると、PHP は最初に呼び出しスクリプトと同じディレクトリを検索し、何も見つからない場合はリスト内の次のパスに移動します。最後のケースでは、/usr/local/PEAR である必要がありますが、何も表示されません。
エラー レポートからわかる唯一の奇妙な点は、2 番目のセクションの次のビットです。
「.:/usr/local/PEAR」の後にセミコロンがあり、別の (有効な) パスが追加されています。この特定のパスについては心配していませんが、セミコロンが原因で、PHP が最初のコロン以降のすべてを単一のパスと見なしてしまうことが懸念されます。その場合、PHP が PEAR ライブラリを見つけられないのは理にかなっています。
私が言及したことを考えると、他の誰かがこの問題について何らかの理由を考えたり、洞察を提供したりできますか? ありがとうヒープス!
編集:
よし、これで解決。ターミナルで次のコマンドを実行しました。
ああ、私は次のことを見つけました:
「;」の置き換え PATH_SEPARATOR を使用すると、問題がうまく修正されました。
ジェイコブに感謝します!:)