从CMake构建中删除libstdc++
Remove libstdc++ from CMake build
我正在尝试构建一些第三方代码并将其链接到我们自己的STLPort私有版本,他们的代码使用CMake,我是新手。
我能够让编译工作对我们的STLPort包括,但我不能阻止链接器链接在libstdc++。我试过:
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -nostdlib")
list(REMOVE_ITEM CMAKE_CXX_IMPLICIT_LINK_LIBRARIES stdc++)
可惜运气不好。
Amazon Linux AMI(基于RHEL 5.x), CMake 2.8.12.
如有建议或指教,不胜感激。
谢谢。
我相信在你的构建脚本中有更多的逻辑。
以下CMakeLists.txt:
cmake_minimum_required (VERSION 2.6)
project (Test)
add_executable(Test test.cpp)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -nostdlib")
list(REMOVE_ITEM CMAKE_CXX_IMPLICIT_LINK_LIBRARIES stdc++)
test.cpp :
int main()
{
return 0;
}
产生预期的链接器警告:
/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400144
这意味着我的二进制文件没有链接到stdlib.
相关文章:
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 使用函数"remove"删除重复元素
- 如何从多映射中删除特定的重复项
- 运算符C++ "delete []"仅删除 2 个前值
- 删除指向指针的指针是运行时错误吗
- 将指针设置为"nullptr"并不能防止双重删除?
- 为什么示例代码访问IUnknown中已删除的内存
- 如何通过 getter 函数删除矢量的元素?
- 从控制台中删除最后打印的元素
- c++:如何删除libstdc++.so.6依赖项
- 使用clang++/libc++删除Boost libstdc++依赖
- 从CMake构建中删除libstdc++