linker相关内容

Clang 的链接器

我为 Clang 使用哪个链接器? 如果我使用 Clang 或 GNU 链接器(ld) 作为链接器,我得到了大量的错误,就好像我没有链接到标准库一样. g++ $(OBJS) -o $(BINDIR)/obtap 看来我必须使用 g++ 来链接我的 Clang 对象. 解决方案 我运行的是 'clang' 而不是 'clang++',这意味着它没有链接 C++ 标准库. ..
发布时间:2022-01-23 21:12:02 C/C++开发

在没有 -fPIC 的情况下将静态库链接到共享库

我想将目标文件和静态库合并到一个共享库中,但静态库不应暴露,它只在进入共享库的目标文件中引用.我认为在这种情况下,我不需要使用 -fPIC 编译静态库,但我不知道如何告诉链接器我不会使用静态库中的符号这一事实.为了说明我的问题,请使用以下文件: 文件foo.cpp: #include "static.h"使用命名空间标准;字符串版本信息(){返回静态版本信息();} 文件static.c ..
发布时间:2022-01-23 21:11:03 C/C++开发

C++ 函数模板特化的可见性

假设我有 fileA.h,它使用模板函数 SomeFunc() 声明了一个类 classA.该函数直接在头文件中实现(与模板函数一样).现在我在 fileA.C (即不在头文件). 如果我现在从其他代码(可能也来自其他库)调用 SomeFunc(),它会调用通用版本还是专业化版本? 我现在有这个问题,类和函数存在于一个库中,由两个应用程序使用.一个应用程序正确地使用了专 ..
发布时间:2022-01-23 21:08:35 服务器开发

运行时 C++ 链接器缺少库(SONAME 行为)

我制作了一个程序,它使用两个共享库(我编译过),并且放置如下: /home_directory_where_I_compile_and_run_everything-->/lib/libjson_linux-gcc-4.4.6_libmt.so-->/lib/libre2.so.0 当我编译我的程序时,我将这些库的相对位置传递给链接器,如下所示: g++ ......东西.......... ..
发布时间:2022-01-23 21:06:08 C/C++开发

将 libxml++ 和 glib 库与适用于 C++ Windows 的 CodeBlocks IDE 链接的问题

我正在使用 Code Blocks IDE 为 Windows 编写 C++ 应用程序.我有兴趣使用以下 XML++ 库:http://libxmlplusplus.sourceforge.net/ 它需要 libxml2 和 glibmm-2.4 库.我下载了每个库的源代码,并通过右键单击“构建选项"==>“搜索目录"选项卡==>“编译器"选项卡将所有标题包含到我的项目中.我在那里指定了头 ..
发布时间:2022-01-20 21:55:08 C/C++开发

Xcode:基于架构的条件构建设置(设备(ARM)与模拟器(i386))

我正在构建一个必须在模拟器和设备上运行的 iPhone 应用程序.但是我使用的是一个外部编译的库,它有一个版本用于模拟器,一个版本用于设备(​​不同的 CPU). 我该怎么做?我来自 Visual C++,所以我是 Xcode 的新手,但我找不到方法. 编辑,2016 年 3 月:这个问题是在大约 6 年前的 2009 年 7 月提出的.从那以后 Xcode 发生了很大的变化,但我想有 ..
发布时间:2022-01-17 08:30:51 移动开发

抑制实例方法覆盖链接器警告框架xcode

我有一个库,它开始在 XCode 4.4 下抛出几个链接器警告.警告类似于“ld:warning:instance method 'methodName:' in category from overrides method from class in" 该框架仍然可以正常工作,我认为编写它的公司会在下一个版本中纠正这个问题,但目前这些警告非常烦人.有什么方法可以在不禁用所有链接器警告的情况 ..
发布时间:2022-01-16 20:12:54 其他开发

Makefile 更新了库依赖

我有一个大的 makefile,它构建了几个库,安装它们,然后继续构建链接到这些已安装库的对象.我的麻烦是我想使用“-lfoo -lbar"作为 g++ 标志来链接两个已安装的库,但是依赖关系搞砸了.如果我更改库 foo 所依赖的标头“42.h",那么 make 当然会重建并安装它,但它确实 not 似乎注意到我的对象“marvin"使用了“-lfoo" 并且 marvin 与旧版本保持联系... ..
发布时间:2022-01-15 23:14:13 C/C++开发

为 C/C++ 可执行文件自动生成目标文件(链接器)依赖项

我目前正在开发一个灵活的 C/C++ 构建框架,我将(希望)很快将其开源.(有关背景信息,请参阅这个问题). 我正在使用以下命令为源/头文件生成#include 文件依赖项. gcc -M -MM -MF 有没有一种方法可以巧妙地推断 可执行文件 的链接器(.o 文件)依赖项(在我的情况下,单元测试 + 目标平台的主要可执行文件)使用 gcc/GNU 实用程序以与上述类似的方式?目前,该 ..
发布时间:2022-01-15 22:58:56 C/C++开发

如何防止链接器丢弃函数?

我的 C 代码中有一个函数被隐式调用,并被链接器转储.我怎样才能防止这种现象? 我正在使用 gcc 和链接器标志 -gc-sections 进行编译,我不想从标志中排除整个文件.我尝试使用属性:“used"和“externally_visible",但都没有奏效. void __attribute__((section(".mySec"), nomicromips, used)) func ..
发布时间:2022-01-13 18:31:10 其他开发

MyClass::GetMessageMap() 和 MyClass::GetRuntimeClass (MSVC 2008) 的 MFC dlg 类链接错误

我复制了 dlg 框类的现有标题(使用 dlg 类向导/mfc 向导创建).在我将 cpp 文件添加到项目之前,一切似乎都很好.现在我得到一些 mfc 魔术方法的奇怪链接错误: 错误 LNK2001:未解决的外部符号“公共:虚拟结构CRuntimeClass * __thiscallDlgGapWindow::GetRuntimeClass(void)const"(?GetRuntimeCl ..
发布时间:2022-01-12 15:25:24 C/C++开发

没有头文件的链接库?

我正在尝试使用 Visual Studio 2010 链接 C++ 中的静态库.麻烦的是,库(和随附的标头)中有很多 MFC 对象.我想在不重新编译我的项目以包含 MFC 或重新编译库以不使用 MFC 的情况下调用库的函数之一.这篇 codeproject文章似乎暗示如果我这样做是可能的在我的项目中将函数定义为外部的(使用“extern"关键字). 但是,我没有运气.无论我尝试什么,我都会收 ..
发布时间:2022-01-12 15:08:30 C/C++开发