cmake - 如何指定要在共享库构建中使用的链接器标志 [cmake]

我正在使用 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

最佳答案

您可以使用 CMAKE_SHARED_LINKER_FLAGS CMake 选项(通过传递 -DCMAKE_SHARED_LINKER_FLAGS='-L/some/path' 或您的 cmake 调用所需的任何链接器标志来设置) .有关(非常简短的)引用,请参阅:https://cmake.org/cmake/help/latest/variable/CMAKE_SHARED_LINKER_FLAGS.html#cmake-shared-linker-flags .

https://stackoverflow.com/questions/10804296/

相关文章:

google-chrome-extension - 当我们在扩展弹出窗口之外单击时自动关闭如何保持打

python - 如何通过终端获取mac os的语言

git - 编译或下载静态版本的 git

python - curl :(7)无法连接到::1:网络无法访问

php - 日志中时间戳的时区?

google-chrome-extension - 在生产和开发环境中处理 URL

user-interface - IIS Express 图标是什么意思?

mysql - 我可以杀死 "repair by keycache"吗?

android - scrollview 在 android 中滚动到中间

php - 使用 youtube api 查找观看次数最少的视频?