9

Qt が DLL の名前を に変更しないようにするにはどうすればよいMyDLLName{MAJOR_VERSION_NUM}.dllですか?

これは、プロジェクト ファイルで を設定した場合にのみ発生しVERSIONますが、バージョンも設定したいと考えています。たとえば、次の場合:

VERSION = 1.2.3.4

私のライブラリの名前はです。MyDllデバッグ フォルダに DLL を として作成しますMyDLL1.dll。バージョン番号を削除しても、希望どおりの名前が保持されます ( MyDLL.dll)。

ありがとう。

4

2 に答える 2

6

なぜそこにあるのかについては、この回答(SOについて)を参照してください: なぜライブラリ名がその名前に追加の0を取得するのですか?

生成された名前からバージョンを削除するためにバージョンを「設定しない」ことができますが、それを実行してもよろしいですか? (DLL Hell を回避するためにあります。)

「適切な答え」は、LIBテンプレートがバージョン番号を追加していることです。

また、次の点に注意してください。

  • VERSIONを定義するために使用されVER_MAJVER_MIN
  • msvc_nmake ジェネレーターは/VERSION:major.minor、!empty の場合にリンク フラグを追加します。
  • msvc_vcproj generate は/VERSION:major.minorリンク フラグに追加し、MSVCPROJ_VERSIONif !empty

それらを自分で明示的に設定するか、いずれかを「設定解除」できます。

変数を使用してターゲット名からバージョン番号を明示的に削除できTARGET_EXTます。たとえば、http: //qt-project.org/faq/answer/how_can_i_add_version_information_to_my_applicationを参照してください。

独自のプラグインを作成して (バージョン番号なしで) ターゲット名を生成する方法を決定する場合は、この回答 (SO で) で説明されているように独自のプラグインを作成できます: How to avoid version numbers in .so file name

于 2013-02-10T16:04:58.233 に答える