静的リンクが機能していたことが判明しましたが、Qt ライブラリに対してのみです。サードパーティ ライブラリ QtSerialPort が静的にリンクしていません。再調査の結果、このライブラリを静的にビルドするか、.pro ファイル内の .pri ファイルに直接リンクする必要があることがわかりました。
QtSerialPort は静的リンク用に設計されていないように見えるため、どちらの方法もわかりません。
私が本当に理解していない.priメソッドは、次の2つのリンクで漠然と説明されています: http://qt-project.org/forums/viewthread/15223 http://www.qtcentre.org/archive/index.php /t-54505.html
これらの方法のいずれかを機能させる方法について、誰かアドバイスがありますか? それとも別の方法でしょうか?
また、MSVCP100.dll は静的にリンクしていません。
================================================== ================================
スタンドアロン アプリケーションを作成できるように、Qt にライブラリを静的にリンクさせようとしています。Qt を静的にビルドしてから静的アプリケーションをビルドする方法に関するさまざまなチュートリアルに従いましたが、うまくいきません。アプリケーションのサイズが 79KB から 7+MB に増加したため、静的リンクを使用して Qt を正常にビルドできたと思いますが、QtCore4.dll と QtSerialPort.dll が見つからないというエラーが引き続き発生します。また、この静的構成を使用するときに発生する別の問題は、それほど深刻ではありませんが、プログラムを閉じると、Windows がクラッシュしたと見なし、MyProgram.exe が動作を停止したというウィンドウが表示されることです...
Qt 4.8.5 で MSVC 2010 を使用している Windows マシンを使用しており、サードパーティ ライブラリ QtSerialPort を使用しています。
私が読んでいるガイドに従って行ったことは次のとおりです。
qt-everywhere-opensource-src-4.8.5.zip をダウンロードして解凍します /mkspec/mwin32-msvc2010/qmake.conf を開き、次の行を次のように変更します
CONFIG += qt warn_on release incremental flat link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target
と
QMAKE_CLFAGS_RELEASE = -O2 -MT
次に、MSVC2010 コマンド プロンプトを開き、これに cd します。次に、コマンドを入力します
configure -static -release -platform win32-msvc2010
nmake sub-src
これが完了したら、プロジェクトを開いて追加します
CONFIG += static
.pro ファイルに。QtCreator で、[プロジェクト]、[キットの管理]、[Qt バージョン] の順に移動し、生成した qMake を参照します。このバージョンの qMake で新しいキットを追加します。次に、すべてをクリーンアップしてこの新しいキットに切り替え、QtCreator から qmake を実行します。次に、msvc2010 コマンド プロンプトを使用して、ファイルが生成されたディレクトリに移動し、
nmake release
これにより、かなり大きな .exe が生成されますが、前述したように、まだいくつかの .dll に依存しています。