0

リンカーにプレフィックスを追加する方法を知っています。コンパイルとリンクの前にブルズアイ コンパイラとリンカー プレフィックスを追加する必要があるため、これが必要です。

SET(CMAKE_CXX_COMPILER "${BULLSEYE_PREFIX_CC} --no-banner ${CMAKE_CXX_COMPILER}")
SET(CMAKE_C_COMPILER "${BULLSEYE_PREFIX_CC} --no-banner ${CMAKE_C_COMPILER}")

リンカーに似たものを見つけることができないようです。ポインタはありますか?

ありがとう、ニック

これらは、コンパイラとリンカーのプレフィックスの値です。コンパイラは正常に動作し、cov ファイルを生成します。ただし、リンカーは実行可能ファイルを生成していないようです。ファイルをコンパイルして実行可能ファイルをビルドしますが、リンクが表示されて失敗します。何が起こっているのかわからない:(

C:/src/sw/tools/Bullseye/win32/8.7.33/BullseyeCoverage/bin/covc.exe C:/src/sw/to
ols/win32/msvc110/VC/bin/cl.exe
C:/src/sw/tools/Bullseye/win32/8.7.33/BullseyeCoverage/bin/covlink.exe <CMAKE_CO
MMAND> -E vs_link_exe <CMAKE_CXX_COMPILER> /nologo <OBJECTS> @<<
 <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TAR
GET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <L
INK_LIBRARIES>
<<
4

1 に答える 1

1

CMAKE_CXX_LINK_EXECUTABLEを使用します。

set(CMAKE_CXX_LINK_EXECUTABLE "${BULLSEYE_PREFIX_CC} ${CMAKE_CXX_LINK_EXECUTABLE}")

リンカーへのパスだけでなく、フラグと変数も含まれていることに注意してください。たとえば、cygwin の場合CMAKE_CXX_LINK_EXECUTABLEは次のようになります。

<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS>  -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> -Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR> <LINK_LIBRARIES>

ノート

これによりプレフィックスが追加されますが、注意が必要です。メッセージコマンドを使用して印刷し、結果が希望どおりであることを確認することをお勧めします。この変数は簡単にカスタマイズできないため、cmake で文字列処理を行う必要がある場合があります。

于 2014-09-27T13:51:30.603 に答える