如何与命令行链接
How to link with the command ld
我有2个文件:"test. "O"answers"testlib"。A "两个文件都在同一个文件夹
现在我想用链接器连接它们。问题是必须将它们与"ld"命令连接起来!
有人能告诉我语法是怎么回事吗?
我试了一下,但它不工作:
ld -I -o testprog test.o testlib.a
让g++为您处理所有细节-它将使用所有正确的参数调用ld
:
g++ -o testprog test.o testlib.a
如果您想看到传递给ld
的命令,以便您可以直接调用它,那么只需添加-v
标志:
g++ -v -o testprog test.o testlib.a
如果你的程序不需要大多数程序使用的c++运行时库部分,你所给出的将会工作。如果你想使用任何c++运行时功能,你需要提供c++启动代码和标准c++库(例如,你的代码开始于main
,并有stdin
, cin
, atexit
的表和许多其他类似的东西初始化)。
没有什么理由直接使用ld
。就像Paul R说的,使用g++
来做链接。它知道如何做你需要的所有事情。只有当您正在构建不使用正常标准运行时库位的操作系统(或内核模块)或其他组件时,才不希望这样做。
相关文章:
- 如何从命令行链接C++库
- 链接从命令行转换为Make的库
- Cmake 3.8.0在makefiles中生成错误的链接命令
- 为什么我在我的C 代码中获得链接命令失败错误
- Xcode C :链接命令失败,出口代码1未找到-lboost_regex
- 使用 cmake 将 boost 链接到 c++:命令行编译
- Qt命令行编译在链接器阶段失败,出现垃圾NXCOMPAT数据
- VS 2008:链接命令包括我没有要求且不存在的库
- 通过命令行编译和链接 Swift/Objective-C++ 应用程序
- 当我仅使用链接器选项 /LTCG时,为什么Visual Studio在Linker命令行中显示选项 /PGD
- 为什么我必须在链接器行的末尾传递库
- 如何使用命令行在C++中编译和链接分隔的 .h 和 .cpp 文件
- Turbo C++中通过命令行出现链接器错误
- 如何通过命令行设置VC++动态链接
- 如何从命令行编译和链接多个文件
- CMake:运行链接命令时出错:%1不是有效的Win32应用程序
- 是否可以在命令行上使用 visual-c++ 静态链接特定库
- 如何在VS 2012中查看c++链接命令
- CMake(Android工具链)-运行链接命令时出错:没有这样的文件或目录
- 如何使用CMake在链接命令行结束时添加标志?