2
我正在使用cmake使用Meego 1.2工具鏈(長篇故事)運行構建。這個特定的工具鏈要求使用--sysroot
選項來查找它需要的任何庫。如何指定要在共享庫構建中使用的鏈接器標誌[cmake]
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
?由於您使用的交叉編譯工具鏈,爲什麼不設置CMAKE_CXX_COMPILER並直接傳遞這些--sysroot=
選項G ++(或GCC)
我得到的錯誤是
/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
嗯,也許你需要'link_directories($ {} PATH_TO_crti.o)'? – arrowd
它是交叉編譯嗎?事實上--sysroot是g ++標誌。你也可以嘗試使用-WI g ++選項。 –