链接器是工具链的一部分,用于从编译的编程语言编写的源代码生成可执行文件。它将编译的目标代码放在多个文件中,并从中生成一个“链接”的可执行文件。
我一直生活在这样的幻想中:与 -L/some/path/ -lfoo 链接和与 /some/path/libfoo.so 链接 100% 是一样的(但到目前为止我从未使用过后者)。根据我最新的
如何让 Xcode 设置 LC_RPATH(以便 @rpath 加载起作用)?
我想制作一个命令行工具,其中包含一些它需要的捆绑框架(SDL 和相关库)。我将 Xcode 设置为“嵌入并签名”这些框架,这导致它们......
我尝试在 Windows 上使用 GCC 的链接器符号作为时间戳: gcc.exe -DTIMESTAMP=$(shell "C:/mingw/msys/1.0/bin/date.exe +%s") -E helloworld.c -o test.E 但我得到输出: gcc.e...
我在头文件(https://github.com/eyalroz/printf/blob/master/src/printf/printf.h)中找到了这些行,它是 printf 实现的一部分。 // 如果你想包含这个实现文件
CMake 和 Cuda 在设备上单独编译类构造函数在链接期间失败
我在通过 CMake 链接设备上的构造函数时遇到问题。仅当在类内调用函数时才会引起麻烦。你有什么主意吗? 我尝试使用 nvcc 手动编译和链接...
我正在尝试将新的 dylib 链接到我的可执行文件,但它使用绝对路径(/usr/local/lib/)链接它,如何从使用的共享库中删除此默认路径? otool -L ../构建/产品/D...
我正在与 psoc Creator 合作,我正在尝试将 -1 到 1 之间的浮点打印到 I2C OLED。 为了实现这一点,我使用了 sprintf 函数。我将以下标志添加到我的链接器 -u
我一直很感兴趣地阅读这篇文章: https://anadoxin.org/blog/control-over-symbol-exports-in-gcc.html/ 它有一个名为“共享库使用的静态库”的特定部分
根据以下链接: ARM编译器6 ARM 编译器 6 不再支持“attribute((at()))”,而是将其替换为“attribute((section(".ARM._at")))”...
这是我的makefile: 全部: 程序 输出:run.o destroy.o interm.o g++ run.o destroy.o interm.o -o 输出 运行.o:运行.cpp g++ -c 运行.cpp 废墟.o: 废墟.hpp g++ -c 废墟.hpp interm.o:interm.cpp ...
我已经尝试了几个小时来消除我的错误,但它不会消失,我查了其他帖子,但似乎没有任何效果。 我得到了我的 .H 文件,内容如下: 使用命名空间 std; ...
Visual Studio 2012:从链接中排除已编译的文件
我有一个简单的C语言项目,正在编译一些文件。它们被编译为 .obj 文件,然后链接在一起。到目前为止一切顺利,现在我需要从链接中排除这些文件之一....
我刚刚开始学习masm32,对.obj文件有点困惑,我以前使用过C#,所以编译器为我链接,现在我有qeditor,但我找不到一个选项来组装多个.asm文件.. .
Microsoft Visual Studio 未将我的 CUDA .obj 文件链接到我的 .lib
因此,我们最近将项目升级为使用 Microsoft Visual Studio 2010,但我们的 CUDA 项目遇到了一些问题。 我确实安装了 2008,并且使用的是 vc90 工具包,并且
生成可执行文件时是否同时使用libstdc++.a和libstdc++.so?
如果我选择这样做: gcc my.cpp -lstdc++ 它与 libstdc++.so 链接,对吧?但是代码中有一些 C/C++ 初始化部分(全局/静态变量/对象、atexit() 函数等),似乎它们
如何告诉 gcc(或 ld)链接标准 c 和 c++ 库的调试版本
我有 libstdc++ 和 libc 等的调试版本,并且想链接到它们。它们位于 /usr/lib/debug 中,而不是 /usr/lib 中。有什么想法吗?
符号版本控制在 Linux 库中广泛使用还是仅在某些特定和罕见的情况下使用?
我引用了 Michael Kerrisk 所著的流行书籍《Linux 编程接口》中与符号版本控制相关的内容: “这项技术提供了一种替代方法
MYSYS2 GCC 静态链接错误:主要:找不到链接器输入文件:没有这样的文件或目录
我正在尝试在 Windows 上使用 MYSYS2 GCC 11.2.0 在某个位置静态链接库。 这是我的 makefile:(从 M.M 编辑 1 和 n.1.8e9-where's-my-share m。) #将.o更改为.so,ty“n....
Vim 和环境模块:通过 :make 编译不知道 boost
我的 C++ 项目使用 CMake 创建用于编译的 makefile 和来自 boost 的外部库。我选择的编辑器是 vim。 在命令行中运行 $ make 可以工作,但是在 vim 中运行 :make 有问题...
如何将 .so 文件的标头包含到其他 C++ 应用程序中? 尝试将 Shared.h 包含到 C++ 程序中,但无法识别 构建文件夹文件: 共享调试$:ls libshared.so libshared.so.1.0