問題タブ [search-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.
delphi - Delphi 2010、DeHL、ファイルが見つかりません
Delphi 2010 の試用版をインストールし、DeHLを見てみたいと思っています。
ただし、コンパイル時に「ファイルが見つかりません」というエラーが発生せずにユニットを含める方法がわからないため、見逃したものがあるはずです...
私が行ったことは、プロジェクトの「ファイル検索パスを含める」にパスファイルへのパスを含めることです。パッケージでビルドしようとしましたが、DeHL パッケージが見つかりませんでした。また、すべての DeHLs dcu ファイルがある bin-path を含めようとしましたが、結果はありませんでした。
何か案は?
path - MATLAB 検索パスの使用方法
MATLAB 検索パスに関していくつか質問があります。
現在のディレクトリは検索パスにありますが、なぜ「パス」の出力にないのですか? 完全な検索パスはどこにありますか?
検索パスを追加するには、どのような方法がありますか?
検索パスを追加するすべての可能な方法 (例: pathdef.m、startup.m、MATLABPATH 環境変数など) を考慮した場合、追加される検索パスの順序は? 同じ名前のファイルが異なる検索パスに存在する場合、一番上にあるファイルが選択されるため、重要だと思います。
xcode - Xcode がインクルードするプロジェクト ヘッダー ファイルを制御する
私の Xcode プロジェクトは、2 つのターゲットを使用して同じ製品のバリエーションにビルドされます。2 つの違いは、含まれているライブラリのどのバージョンが使用されているかだけです。.c ソース ファイルの場合、ターゲット チェック ボックスを使用して、正しいバージョンを正しいターゲットに簡単に割り当てることができます。ただし、ヘッダー ファイルをインクルードすると、常に同じものがインクルードされます。これは 1 つのターゲットでは正しいですが、別のターゲットでは正しくありません。
各ターゲットに含まれるヘッダー ファイルを制御する方法はありますか?
これが私のプロジェクトファイル階層です(Xcodeで複製されています):
そして myCode.cpp は次のようなことを行います:
そしてもちろん、私は一方のターゲットを定義OLDVERSION
し、もう一方のターゲットを定義しません。
は示されているとおりでなければならないことに注意してください#include
。次の両方がファイルが見つからないというエラーで失敗します。
theirLib.h
ターゲットごとにどれを含めるかをXcode に指示する方法はありますか?
制約:
- 2 つのヘッダー ファイルは同じ名前です。最後の手段として、そのうちの 1 つの名前を変更することもできますが、これは他のプラットフォームで大きな影響を与えるので避けたいと思います。
-#include
囲んでいるフォルダーへの参照を追加するために を変更する必要があることも、条件付きコンパイル ディレクティブで 2 回行う必要があるため、むしろ避けたいことです。
- 私は自分のプロジェクトを自由に微調整できます。
助けてくれてありがとう。
dll - Win32 アプリ プラグインがその DLL を独自のディレクトリにロードする方法
私のコードは、Visual Studio 8 を使用して C++ で記述された特定のアプリケーションのプラグインです。外部プロバイダーからの 2 つの DLL を使用します。残念ながら、DLL が見つからないため、プラグインを起動できません (プラグイン自体と同じディレクトリに配置しました)。
DLL をホスト アプリケーション ディレクトリに手動で移動またはコピーすると、プラグインが正常に読み込まれます。この移動はエンド ユーザーにとって容認できないほど面倒であると見なされたため、プラグインがその DLL を透過的にロードする方法を探しています。私に何ができる?
関連する詳細:
- ホスト アプリケーション プラグインは、ホスト アプリケーションによって指定されたディレクトリにあります。そのディレクトリは DLL 検索パスになく、私はそれを制御していません。
- プラグイン自体は、プラグイン ディレクトリのサブディレクトリとしてパッケージ化され、プラグイン コード自体だけでなく、プラグインに関連付けられたリソース (画像、構成ファイルなど) も保持します。「バンドル」と呼ばれるそのサブディレクトリ内の内容は制御しますが、それがどこにあるかは制御しません。
- そのアプリの一般的なプラグイン インストール イディオムは、エンド ユーザーがプラグイン バンドルをプラグイン ディレクトリにコピーすることです。
このプラグインは、プラグインの Macintosh バージョンからの移植です。Mac では、各バイナリに独自の動的ライブラリ検索パスが含まれているため、問題はありません。これは、プラグイン バイナリに対して必要に応じて設定しました。Mac でこれを設定するには、Xcode IDE でプロジェクトを設定するだけです。これが、Visual Studio で同様のものを期待する理由ですが、関連するものは見つかりませんでした。さらに、Visual Studio のヘルプはまったく役に立たず、Google も役に立ちませんでした。
考えられる回避策は、私のコードが DLL を見つける場所を Windows に明示的に伝えることですが、その方法がわかりません。いずれにせよ、コードが開始されていないため、そうする機会がありません。
Mac 開発者として、私は非常に基本的なことを求めている可能性があることを認識しています。その場合は申し訳ありませんが、抜く毛がなくなりました。
r - 検索パスでの名前の衝突が原因で、Rで関数のマスクを解除する方法
debug
オブジェクトを使用してスクリプトをデバッグするためにパッケージをロードするとzoo
、問題が発生しました。関数index
がパッケージzoo
によってマスクされていました。debug
どうすればマスクを解除できindex
ますか?一般的に、これらの名前の衝突の問題にどのように対処するのですか?debug
`zoo'でパッケージを使用しませんか?
visual-studio - VisualStudio の単体テストで、P/Invoke を使用して DLL が見つかりません。どうすればこれを修正できますか?
Visual Studio 2008 で Windows 7 を使用しています。
P/Invoke を使用してネイティブ DLL を呼び出す .NET アセンブリがあります。さまざまな呼び出しを行ってアセンブリをテストする Visual Studio ソリューションで、別の .NET 単体テスト プロジェクトをセットアップしました。ただし、単体テストがアセンブリへの呼び出しを行い、アセンブリが P/Invoke を使用して呼び出しを行うと、ネイティブ DLL が見つかりません。
スタンドアロンの .NET コンソール アプリケーションを作成する場合、問題はありません。アセンブリは P/Invoke を使用して、DLL を正常に見つけることができます。
アセンブリを使用する前に、DLL の絶対パスを指定して LoadLibrary を呼び出すことで、単体テストを機能させることができます。ただし、このアプローチは見苦しく、絶対パスが必要です。これは、他のユーザーにとって問題となります。
要するに、私の質問は、Visual Studio 単体テストの実行時に使用されている DLL 検索パスを指定または修正するにはどうすればよいですか?
どんな助けでも大歓迎です。
よろしく、ダン
xcode - XCodeにカスタムフレームワークからのヘッダーを含める
プロジェクトにカスタムフレームワークを追加するときに調整するFRAMEWORK_SEARCH_PATHS
必要がありますか?HEADER_SEARCH_PATHS
メインプロジェクトの「Products」から「LinkwithBinaryLibraries」ビルドフェーズにドラッグするだけのMainProject.xcodeproject
リンクがあります。SomeFramework.framework
SomeFramework.xcodeproject
フレームワークのディレクトリには、必要なすべてのヘッダーが含まれていますHeaders
。ただし、私のプロジェクトでは、次のものを単純に使用することはできません。
このヘッダーを含めます。「そのようなファイルまたはディレクトリはありません」というビルドが失敗します。コンパイラフラグには次のものが含まれ、そのディレクトリにはディレクトリシンボリックリンクを-F…/SomeFramework/build/Release
含むフレームワークが含まれます。Headers
(ところで:これはMac OS X用です。私はiPhoneを気にしません。)
windows - プログラムで特定のフォルダーで依存関係を検索するようにするにはどうすればよいですか?
プログラムを開くと、コードが実際に実行される前に、プログラムがインポートする関数を持つさまざまなDLLを自動的にロードしようとします。アプリが含まれているフォルダーを検索し、次に\Windowsや\Windows\System32などの特定の場所を検索します。
いくつかのカスタムDLLを使用したいが、アプリのフォルダーをそれらで乱雑にしたくない場合、それらをサブフォルダーにインストールしてから、どこを見ればよいかを指示する何かをEXEに入れる方法はありますか?
c - 共有ライブラリの検索パスでディレクトリを見つける
特定のディレクトリ内のすべての共有ライブラリに dlopen() が必要です。そのために、
Linux のライブラリ検索パスを取得する最もクリーンな方法は何ですか。または、そのパスで特定のディレクトリをすばやく見つける方法はありますか?
posixの方が良いでしょう。
linker - 実行時リンカーは、solaris の実行可能ファイルの RPATH を無視します
root を持たない Solaris サーバーでsamtoolsをコンパイルしようとしています。Samtools は zlib に依存しています。このマシンのシステム zlib は大きなファイルをサポートするようにコンパイルされていないため、このバージョンに対して samtools をコンパイルすると、期待どおりの効果が得られます。samtools は小さなファイルのみを処理します。大きなファイルを処理できるようにする必要があります。幸いなことに、管理者によってコンパイルされたバージョンの zlib が /usr/local/apps/zlib-1.2.5/ にあり、大きなファイルをサポートしています。CFLAGS に追加することでこれに対してコンパイルできます-R /usr/local/apps/zlib-1.2.5/lib
が、これは機能しないようです。症状は次のとおりです。
samtools を実行しようとすると、次のエラーでクラッシュします。
LD_LIBRARY_PATHに追加/usr/local/apps/zlib-1.2.5/
すると、samtools は正常に動作します。
ldd と readelf を使用して samtools を分析すると、次の結果が得られます。
これ/usr/local/apps/zlib-1.2.5/lib
は明らかにバイナリの RPATH にあり、実行時に共有ライブラリを検索することになっていると私は理解しています。ただし、ldd -s
このディレクトリは検索されないことを示しています。このパスを LD_LIBRARY_PATH に追加して ldd コマンドを再実行すると、期待どおりの効果が得られます。ディレクトリが検索され、正しいバージョンの libz が検出されます。
/usr/local/apps/zlib-1.2.5/lib
では、 LD_LIBRARY_PATH を使用せずに実行時にsamtools に強制的に検索させるにはどうすればよいでしょうか?
編集:ここのドキュメントは-R
、オプションが正しいことを示しているようです。しかし、うまくいきません。