2

Meego 1.2 ツールチェーン (長い話) を使用して cmake を使用してビルドを実行しています。この特定のツールチェーンでは、--sysroot必要なライブラリを見つけるためにオプションを使用する必要があります。

set (CMAKE_CXX_FLAGS "-fpermissive")
set (CMAKE_CXX_LINK_FLAGS "--sysroot=${INTEL_GRAPHICS_SDK_BASE}/sdk")
set (CMAKE_CXX_FLAGS_DEBUG "-g")

これらのオプションを使用すると、cmake の初期コンパイラ チェックに合格できますが、ビルド中に共有ライブラリを生成すると、オプションを指定せずに ld が呼び出されているように見えます。

sysroot共有ライブラリを指定するために設定する必要がある別の cmake 変数はありますか?

私が得ているエラーは

/usr/lib/madde/linux-i686/toolchains/meego-1.2-sdk-ia32-toolchain-1.0-linux_i686/i586-meego-linux-gnu/bin/../lib/gcc/i586-meego-linux-gnu/4.5.1/../../../../i586-meego-linux-gnu/bin/ld: crti.o: No such file: No such file or directory
collect2: ld returned 1 exit status
4

1 に答える 1

-1

クロス コンパイラ ツール チェーンを使用しているので、CMAKE_CXX_COMPILERを設定して、それら--sysroot=のオプションを g++ (または gcc) に直接渡してみませんか?

以下の説明を含むCMAKE_EXE_LINKER_FLAGSという名前のフラグもあります。

CMAKE_EXE_LINKER_FLAGS

   Linker flags used to create executables.

   Flags used by the linker when creating an executable.
于 2012-11-02T12:33:25.800 に答える