linker相关内容
我有以下问题.我的 Linux 机器上有一个单独的 {bin,lib,include} 树,其中安装了 CMake 和我开发工作所需的所有库.但只有 PATH 环境变量设置为此 bin 目录,并且由于多种原因我无法设置 LD_LIBRARY_PATH.此树中的所有程序都是使用 RPATH 构建的.我正在使用的 CMake 3.3.1 也在这棵树内. 现在的问题我想用libcurl编译一个程序
..
我想以重要的通知作为开头,即我不是 C/C++ 程序员,并且对 C 中的库链接如何工作知之甚少. 我们的代码使用 libstdc++.so.6(我认为是 gcc 3.4).我们有使用 libstdc++.so.5(我认为是 gcc 2.something 或 3.2)的第三方预编译(闭源)库.这是在linux上.我们有第三方库的 .a 和 .so 版本. 是否可以使用 3rd 方库构建
..
在基于 unix 的系统中,延迟负载是什么. 我有一个代码 foo.cpp,在使用 gcc 编译时,我将它链接到共享对象(总共三个 .so 文件.).每个.so 文件都有不同的选项. ./foo -v 需要 libversion.so./foo -update 需要 libupdate.so 我需要这些库的符号应该只在运行时解析. ./foo -v 不应中断,即使 libu
..
我正在使用 Linux 平台并使用 GNU C++ 编译器.我正在尝试解决显示某些符号未定义的链接错误.我可以使用命令行中提供的名称查找库,并查看它们是否包含有问题的符号(使用“nm"实用程序). 我知道对于编译步骤,我可以使用命令行标志“-H"而不是“-c"来获取编译中#included 的头文件列表.链接器是否有类似的选项?我想如果我能看到链接器用来处理每个“-lmylibrary"标志
..
更新 2 在搞砸了一点(以及对生成的 Makefile 进行了一些编辑)之后,看起来正在发生的事情是 moc 没有正确处理 MainWindow.h (包含在 main.cpp 和 MainWindow.cpp 除非它与包含它的源文件位于同一文件夹中. Moc 在 MainWindow.cpp 上运行,不处理包含,因此看不到 Q_OBJECT 宏,因此继续生成一个空的输出文件.我不确定
..
我们有一个分解成静态库的代码库.不幸的是,这些库具有循环依赖关系.例如,libfoo.a 依赖于 libbar.a,反之亦然. 我知道处理此问题的“正确"方法是使用链接器的 --start-group 和 --end-group 选项,如下所示: g++ -o myApp -Wl,--start-group -lfoo -lbar -Wl,--end-group 但在我们现有的 Make
..
我使用的是配备 Intel Core 2 CPU 和 2GB RAM 的计算机.我的操作系统是 Ubuntu 9.04.当我尝试编译这段代码时: ;programma per la simulazione di un terminale su PC, ottenuto utilizzando l'8250;in condizione di loopback , cioè Tx=Rx第 .code
..
在为较旧的部署目标编译 iPhone 应用程序时,如何为多个框架指定 -weak_framework? 解决方案 在您的目标的 Build Phases 部分中,您已经获得了链接框架的列表. 对于每一项,您可以选择必填或可选,可选表示弱.
..
我正在使用 Visual C++ 2008 SP1.我有一个在调试模式下编译的应用程序,但在发布模式下链接到一个库. 我在应用程序启动时遇到了崩溃.为了使问题更小,我创建了一个包含 2 个项目的简单解决方案: lib_release(生成 .lib,处于发布模式) exec_using_lib_release(生成 .exe,处于调试模式) “lib_release"项目很简单
..
我认为 ifndef something #define something body #endif 解决了这个错误,所以我不确定为什么会这样. //Library.h#ifndef __LIBRARY__#define __LIBRARY__#include #include #include #include #include
..
我正在使用 VC++ 2010 来处理一些 OpenGL.然而,它正在成为一种痛苦.我不断收到错误代码. 这是我正在使用的代码: //包含标准头文件#include #include //包括 GLEW#include //包含 GLFW#include //包括 GLM#include
..
当我尝试编译 Armadillo 2.4.2 附带的 example1.cpp 时,我不断收到以下链接错误: /tmp/ccbnLbA0.o: 在函数`double arma::blas::dot(unsigned int, double const*, double const*)'中:main.cpp:(.text._ZN4arma4blas3dotIdEET_jPKS2_S
..
[Administrator@windows ~]$ g++ client.cpp -lcurl -o client.exeC:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccKXFUtC.o:client.cpp:(.text+0x23): undefined reference to `_imp__curl_global_init'C:\DOCUME~1\ADMINI~1
..
我是 Qt 新手,遇到一个无法修复的错误. 我有一堆 windows (VS2005) 静态库文件 (.lib).我正在测试它们是否可以很好地与 Qt 配合使用.所以我选择了我拥有的最简单的库.(称为MessageBuffer). 所以我将MessageBuffer.h添加到main.cpp中,并将这些文件的位置添加到的INCLUDEPATH中>.pro. 在那之前一切看起来都很
..
当您使用 cc(1) 链接程序时,它将调用默认链接器命令.例如,您的编译器版本可能已构建为在类 unix 平台上默认使用/usr/bin/ld. 有没有办法指定 cc(1)(或 c++(1))应该使用的不同链接器命令(例如,/usr/local/bin/ld 而不是 /usr/bin/ld)?我主要对 gcc 和 clang 感兴趣. 我不是在寻找涉及单独运行各种编译步骤(例如,预处理
..
我可以毫无问题地创建一个共享库.我创建了 libcbitcoin.so(没有错误)并尝试使用可执行文件和 OpenSSL 库链接它.我使用这个命令: gcc -L/media/sf_BitEagle_Projects/cbitcoin/build/bin -lcbitcoin \-Wl-rpath,/media/sf_BitEagle_Projects/cbitcoin/build/bin -l
..
我正在开发这个 MFC 应用程序,它需要一个嵌入式数据库.因此,我开始为它寻找一个灵活、快速的“可嵌入"数据库,并偶然发现了 SQLite. 我用它创建了一个数据库,并用 Visual Studio 2008 创建了一个静态库项目.该库项目将用于另一个主项目. 在库项目中,我使用方法 AddFeedToDB(CFeed f) 创建了一个类 DBClass.库项目使用来自 codepro
..
我在 ubuntu 12.04 上安装 pyipopt 时遇到问题.在链接期间,我收到错误: /usr/bin/ld: 找不到 -lcoinhsl 尽管我知道这个库已经安装并且 .so 和 .la 文件在 /home/mostafa/MyBuilds/CoinIpopt/build/lib/中可用 有人对此有解决方案吗? 下面是运行 setup.py build 的完整返回:
..
我想知道为什么链接器不能仅仅通过查阅获得实际实现代码的实际 .dll 文件中的信息来完成他们的工作?我的意思是为什么链接器仍然需要 .lib 文件来进行隐式链接? 导出和相对地址表还不足以进行这种链接吗? 有没有一种方法可以只使用 .dll 而不使用 .lib 存根/代理文件来进行隐式链接? 我认为 Windows 可执行加载器只会代表程序执行 LoadLibrary/LoadL
..
我不清楚 Boost 存在哪些链接选项.Thread 1.34.1 库.我在 Ubuntu 8.04 上,我发现在链接编译和运行期间使用 boost_thread 或 boost_thread-mt 时,但我没有看到任何关于以上链接中的这些或任何其他链接选项. 有哪些 Boost.Thread 链接选项可用,它们是什么意思? 解决方案 嗯... 第一个有趣的是,名称中的 -mt
..