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 在没有指定任何选项的情况下被调用。

是否需要设置不同的 cmake 变量来指定sysroot共享库?

我得到的错误是

/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 回答