linker相关内容

强制 CMake 使用完整的库路径

我有以下问题.我的 Linux 机器上有一个单独的 {bin,lib,include} 树,其中安装了 CMake 和我开发工作所需的所有库.但只有 PATH 环境变量设置为此 bin 目录,并且由于多种原因我无法设置 LD_LIBRARY_PATH.此树中的所有程序都是使用 RPATH 构建的.我正在使用的 CMake 3.3.1 也在这棵树内. 现在的问题我想用libcurl编译一个程序 ..
发布时间:2022-01-11 15:37:17 服务器开发

如何构建同时需要 libstdc++.so.5 和 libstdc++.so.6 的应用程序?

我想以重要的通知作为开头,即我不是 C/C++ 程序员,并且对 C 中的库链接如何工作知之甚少. 我们的代码使用 libstdc++.so.6(我认为是 gcc 3.4).我们有使用 libstdc++.so.5(我认为是 gcc 2.something 或 3.2)的第三方预编译(闭源)库.这是在linux上.我们有第三方库的 .a 和 .so 版本. 是否可以使用 3rd 方库构建 ..
发布时间:2022-01-11 15:37:08 其他开发

基于 unix 的系统中的延迟负载等效

在基于 unix 的系统中,延迟负载是什么. 我有一个代码 foo.cpp,在使用 gcc 编译时,我将它链接到共享对象(总共三个 .so 文件.).每个.so 文件都有不同的选项. ./foo -v 需要 libversion.so./foo -update 需要 libupdate.so 我需要这些库的符号应该只在运行时解析. ./foo -v 不应中断,即使 libu ..
发布时间:2022-01-11 15:37:02 服务器开发

列出使用的库的链接器选项

我正在使用 Linux 平台并使用 GNU C++ 编译器.我正在尝试解决显示某些符号未定义的链接错误.我可以使用命令行中提供的名称查找库,并查看它们是否包含有问题的符号(使用“nm"实用程序). 我知道对于编译步骤,我可以使用命令行标志“-H"而不是“-c"来获取编译中#included 的头文件列表.链接器是否有类似的选项?我想如果我能看到链接器用来处理每个“-lmylibrary"标志 ..
发布时间:2022-01-11 15:36:48 C/C++开发

Qt 5 cmake 失败,未定义对带有 inc & 的 hello world 上的 vtable 的引用src 作为子目录

更新 2 在搞砸了一点(以及对生成的 Makefile 进行了一些编辑)之后,看起来正在发生的事情是 moc 没有正确处理 MainWindow.h (包含在 main.cpp 和 MainWindow.cpp 除非它与包含它的源文件位于同一文件夹中. Moc 在 MainWindow.cpp 上运行,不处理包含,因此看不到 Q_OBJECT 宏,因此继续生成一个空的输出文件.我不确定 ..
发布时间:2022-01-11 15:36:40 C/C++开发

在 Visual Studio 的调试崩溃中链接发布中的库和 .exe

我正在使用 Visual C++ 2008 SP1.我有一个在调试模式下编译的应用程序,但在发布模式下链接到一个库. 我在应用程序启动时遇到了崩溃.为了使问题更小,我创建了一个包含 2 个项目的简单解决方案: lib_release(生成 .lib,处于发布模式) exec_using_lib_release(生成 .exe,处于调试模式) “lib_release"项目很简单 ..
发布时间:2022-01-11 15:36:08 C/C++开发

多个定义的符号 C++ 错误

我认为 ifndef something #define something body #endif 解决了这个错误,所以我不确定为什么会这样. //Library.h#ifndef __LIBRARY__#define __LIBRARY__#include #include #include #include #include ..
发布时间:2022-01-11 15:35:58 C/C++开发

GLFW 的 VC++ LNK 错误

我正在使用 VC++ 2010 来处理一些 OpenGL.然而,它正在成为一种痛苦.我不断收到错误代码. 这是我正在使用的代码: //包含标准头文件#include #include //包括 GLEW#include //包含 GLFW#include //包括 GLM#include ..
发布时间:2022-01-11 15:35:51 C/C++开发

Qt/mingw32 undefined reference errors...无法链接.lib

我是 Qt 新手,遇到一个无法修复的错误. 我有一堆 windows (VS2005) 静态库文件 (.lib).我正在测试它们是否可以很好地与 Qt 配合使用.所以我选择了我拥有的最简单的库.(称为MessageBuffer). 所以我将MessageBuffer.h添加到main.cpp中,并将这些文件的位置添加到的INCLUDEPATH中>.pro. 在那之前一切看起来都很 ..
发布时间:2022-01-11 15:35:25 C/C++开发

与“cc"链接时如何指定备用链接器命令

当您使用 cc(1) 链接程序时,它将调用默认链接器命令.例如,您的编译器版本可能已构建为在类 unix 平台上默认使用/usr/bin/ld. 有没有办法指定 cc(1)(或 c++(1))应该使用的不同链接器命令(例如,/usr/local/bin/ld 而不是 /usr/bin/ld)?我主要对 gcc 和 clang 感兴趣. 我不是在寻找涉及单独运行各种编译步骤(例如,预处理 ..
发布时间:2022-01-11 15:35:17 C/C++开发

如何解决“错误 LNK2019:未解析的外部符号"?

我正在开发这个 MFC 应用程序,它需要一个嵌入式数据库.因此,我开始为它寻找一个灵活、快速的“可嵌入"数据库,并偶然发现了 SQLite. 我用它创建了一个数据库,并用 Visual Studio 2008 创建了一个静态库项目.该库项目将用于另一个主项目. 在库项目中,我使用方法 AddFeedToDB(CFeed f) 创建了一个类 DBClass.库项目使用来自 codepro ..
发布时间:2022-01-11 15:35:02 C/C++开发

ld 找不到 -l;

我在 ubuntu 12.04 上安装 pyipopt 时遇到问题.在链接期间,我收到错误: /usr/bin/ld: 找不到 -lcoinhsl 尽管我知道这个库已经安装并且 .so 和 .la 文件在 /home/mostafa/MyBuilds/CoinIpopt/build/lib/中可用 有人对此有解决方案吗? 下面是运行 setup.py build 的完整返回: ..
发布时间:2022-01-11 15:34:53 其他开发

为什么我们已经有了实际的 .dll 实现,还需要一个 .lib 存根文件?

我想知道为什么链接器不能仅仅通过查阅获得实际实现代码的实际 .dll 文件中的信息来完成他们的工作?我的意思是为什么链接器仍然需要 .lib 文件来进行隐式链接? 导出和相对地址表还不足以进行这种链接吗? 有没有一种方法可以只使用 .dll 而不使用 .lib 存根/代理文件来进行隐式链接? 我认为 Windows 可执行加载器只会代表程序执行 LoadLibrary/LoadL ..
发布时间:2022-01-11 15:34:45 其他开发

Boost.Thread 链接 - boost_thread 与 boost_thread-mt

我不清楚 Boost 存在哪些链接选项.Thread 1.34.1 库.我在 Ubuntu 8.04 上,我发现在链接编译和运行期间使用 boost_thread 或 boost_thread-mt 时,但我没有看到任何关于以上链接中的这些或任何其他链接选项. 有哪些 Boost.Thread 链接选项可用,它们是什么意思? 解决方案 嗯... 第一个有趣的是,名称中的 -mt ..
发布时间:2022-01-11 15:34:36 其他开发