3

cmake を使用して Eclipse CDT MinGW プロジェクトを生成しています。(エクリプス版ケプラー)

これは私のCmakelistです:

project(IMGTODICOM)

find_package(ITK REQUIRED)

include(${ITK_USE_FILE})

add_executable(IMGTODICOM IMGTODICOM.cxx)

target_link_libraries(IMGTODICOM ITKReview ${ITK_LIBRARIES})

コードは私のコンピューターでは問題なくコンパイルおよび実行されますが、他の PC では実行されません。いくつかの dlllibgcc_s_dw2-1.dllが必要です。コンピューターでこの dll を探したところ、C:\MinGW\bin. 問題を解決するために、このフォルダーの内容を別の PC にコピーし、最終的に exe ファイルを実行しました。ただし、コンパイルプロセスでこれらのライブラリを追加して、Windows PCでexeファイルを実行するためのより良い方法があるかどうか疑問に思っています。

私は読んでいましたが、コンパイラが静的ライブラリにリンクするようにする必要があります。Eclipse で、[プロパティ] > [C/C++ インクルード パスとシンボル] および [プロジェクト パス] > [ライブラリ] の下に dll を追加しようとしましたが、機能しません。CmakeList を変更しようとしましたが、機能しません。

C:\MinGW\binこの問題の理由と、exe ファイルに内容を含める方法がわかりません。

助けてくれてありがとう

4

1 に答える 1

4

はい、方法はあります。純粋な C コードの場合:

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static")

C++ コードの場合:

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
于 2013-10-18T13:31:45.780 に答える