static-linking相关内容
我有最新的 Qt SDK.我正在尝试使用 VS2010 将它配置为静态构建(动态链接工作正常)我在这个位置有它:C:\QtSDK\Desktop\Qt\4.8.0\msvc2010 当我使用 VS2010 命令提示符去那里并尝试运行 configure -static 或 configure -static 我得到一些输出但最后它失败了 正在生成 Makefile...警告:c:\QtSD
..
如何调试 Visual C++ 2010 SP1 应用程序无法完全加载其依赖项并过早退出而不显示其 UI 的场景? 我对 Fusion Logs、dependency walker 和远程调试器的良好指南感兴趣,如果您认为它们相关的话.是否可以使用 WinDbg 轻松验证?Process Explorer 怎么样? 是否可以在附加了远程调试器的远程机器上启动进程? 是否可以验证是
..
我通过在 Linux 上使用 C++ 将一堆代码与静态库 (.a) 链接来构建共享库.我在静态库中定义了一个方法.当我使用 nm -C 打印该静态库中的符号时,它显示为: Alembic::AbcCoreFactory::v9::IFactory::getArchive(std::string const&, Alembic::AbcCoreFactory::v9::IFactory::Cor
..
我已经构建了一个静态库,我的 iOS 二进制文件正在链接该库.静态库的代码剥离已关闭,等等,我可以看到存档中的符号(通过 nm). 因此,我将该库作为框架链接到我的应用程序中.但是,我实际上并没有直接调用该函数.因此,我可以在我的二进制文件中看到我直接调用的符号,但看不到未被调用的符号.但是,因为我实际上希望这些符号在运行时就在那里,所以我使用 -all_load 进行编译. 但是,这
..
让我解释一下.我将 网络机器人 与 aldebaran SDK.我的操作系统是 Debian Squeeze amd64.Webots(64 位)不能与 aldebaran SDK 一起使用,因为它们的库是为 32 位编译的.我没有要在 64 位中重新编译的库源.尝试在 webots 下编译默认的 nao 控制器时,出现以下错误: g++ -o naoqi_for_webots naoqi
..
我想创建一个 .so 文件,其中所有库(GMP 和 PROTOBUF)都静态链接到其中,以便它可以在其他系统中使用而无需安装这些库. 这就是我为 MAC 所做的: gcc -I/usr/local/include -shared -o xyz.so -g xyz.c/usr/local/lib/libprotobuf-c.a/usr/local/lib/libgmp.a 但它不适用于 L
..
看在上帝的份上,我不能静态链接 ZLIB 库.我已经挣扎了几个小时,但没有成功.好吧,我已经按照这个教程 并成功编译了两者zlibstat.lib 和 zlibwapi.lib 为 32 位.将我的项目设置为使用带有库的 ZLIB 文件夹(链接器 > 常规 > 附加库目录)并将 zlibwapi.lib(仅)设置为依赖项(链接器 > 输入 > 附加依赖项)后,我让它工作,但是,这是一个动态链接(我
..
我有一个从 C 程序编译的静态链接的可执行文件.objdump -x a.out 表示存在 .eh_frame 部分,即使在 strip -s 之后.为什么本节在 C(非 C++)程序中有用?剥离它有什么风险(使用strip -R .eh_frame)? 解决方案 根据 remyabel 的评论和 OP 的确认,OP 问题的答案可通过另一个 SO 问题获得,链接如下: 为什么 GCC
..
我正在链接一个静态库,我想知道应该如何处理 llvm/Clang 中死代码的剥离.我找不到任何暗示 Clang 具有 -Wl、--gc-section 或 -dead_strip 等价物的文档. 我假设在更高的优化级别会自动执行一些死代码消除,但在 gcc 中也是如此,对吧?然而,gcc 通过上述标志提供了一些明确的控制.Clang 没有提供,还是我遗漏了什么? (系统是OSX)
..
GMP 文档说静态链接可能会提供小的性能改进. 我在让它静态链接我的 Linux 系统上的 libgmp 时遇到问题.我已将问题范围缩小到一个小测试用例. gmptest.c #include int main(int argc, char** argv) {mpz_t foo;mpz_init(foo);返回0;} 生成文件: all: clean gmptest static
..
我正在尝试像这样链接到静态版本的 POCO C++ 库: g++ BCCMain.o -L$_POCO_LIBS -Wl,-Bstatic $_POCO_LIBS/libPocoFoundation.a $_POCO_LIBS/libPocoUtil.a $_POCO_LIBS/libPocoXML.a $_POCO_LIBS/libPocoJSON.a -Wl,-Bdynamic -oBC主
..
我正在尝试向我的应用程序添加 PNG 支持,因此我想包含 libpng.我知道它需要 zlib,因此我也下载了它.我进入了 png 文件夹/项目/vstudio,然后打开了解决方案.我编译了它,它运行得很好.我将其中的一些标题添加到我的应用程序中,并复制了 lib 文件.我的程序是一个用 C++ 编写的 dll,后来在 C# 中使用.当我在 C# 中运行它时,它抱怨找不到我的 dll(如果我删除
..
我按照这个顺序链接了 CodeBlocks 中的库, -lz-L/usr/local/lib-L/usr/local/include-pthread-lswscale-lavutil-lavcodec-lmp3lame-lopus-liff-沃尔比斯-ltheora-ltheoraenc-ltheoradec-lvorbisenc-liffxx-llzma-lva-lavfilter-lavfo
..
我想静态链接 pkg-config 找到的 libpng. pkg-config --libs --static libpng 输出 -L/usr/local/Cellar/libpng/1.6.15/lib -lpng16 -lz 我在那个目录中有两个 libpng16.a libpng16.dylib,如果我使用这些标志,库会动态链接. 如何告诉 pkg-config 或
..
情况: 我正在用 VS2010 构建一个库,它依赖于 LibraryA.我只使用 LibraryA 提供的众多功能之一,所以我想静态链接它. 我正在阅读的关于此的所有内容都告诉我将整个项目设置为与 MFC 静态链接,这是我不想做的事情.我的库动态链接到 Windows DLL 就好了;我只想静态链接到 LibraryA. 在选项窗口中胡闹,我似乎没有看到这样的选项.真的是全有还是
..
本着 Xcode 9 的“革命性"功能的精神,即编译静态框架,我们试图将我们的子项目构建为静态框架,以便它们可以静态链接到主应用程序目标. 我们的一个子项目本身具有静态框架依赖项 (Firebase).当我们将子项目构建为动态框架时,一切正常,但是一旦我们将其切换为 mach-o staticlib,它突然丢失了 Firebase 库符号. 以下是 nm 的输出,分别用于将我们的子项目
..
我已经为 ICU 49 和 50 构建了静态库,但是当与其中任何一个链接时,我仍然收到 667 个链接器错误,如下所示.我怎样才能调试这个并找出问题所在?ICU 支持列表根本没有提供任何帮助. clang++ -ccc-gcc-name g++ -Wl,-E -o velocity main.o city.o auto_lua.oobj_builder.o index.o obj.o str.o
..
我在 Windows 上使用 MSVC 创建了一个静态库 *.lib.库的大小是 70KB.然后我有一个链接这个库的应用程序.但现在最终的可执行文件 (*.exe) 的大小为 29KB,小于库.我想知道的是: 由于库是静态链接的,我认为它应该直接添加到可执行文件的大小,最终的 exe 大小应该不止于此?windows exe 格式是否也对二进制数据进行了一些压缩? Linux 系统如何
..
我对 Qt 编程很陌生,我很长时间都试图了解链接库的工作原理.我需要分发一个小程序 - 1000 行左右 - 我开发给几个人. 我静态构建 Qt 因为我需要静态构建,现在我的程序大小急剧增加. 我只使用 Qpushbuttons、Qlinedits、Qlabels 和其他一些东西,我最终得到了一个超过 160Mb 的编译程序,而只有几 MB 是合理的. 我假设它包含不需要的库和类(仅解释
..
我有一个依赖于 Hyper 和 Diesel 的项目,因此,依赖于本机库 OpenSSL 和 libpq.该项目基于夜间 Rust 构建,因为它使用编译器插件. 我目前的尝试是在 Docker 容器上构建.我有 MUSL libc 和库 make'd 并安装了前缀 /usr/local/musl.我使用以下命令运行 cargo :(不确定某些选项是否多余,我不太熟悉编译器链,甚至不确定它们是
..