static-linking相关内容

有没有办法确定使用哪个版本的Visual Studio编译静态库?

我有一组静态库(.lib)文件,其中的一个可能是使用其他版本的Visual Studio构建的.这导致链接到所有项目的项目的代码生成失败.有什么方法可以确定使用哪个版本的Visual Studio编译静态库? 解决方案 对于发布库,不太可能确定版本. 对于调试库,可以使用垃圾箱: dumpbin /rawdata:1 library.lib 程序集清单应位于转储的开始,并将 ..
发布时间:2020-07-26 22:59:25 其他开发

如果知道lib的路径,为什么要在Visual Studio中指定特定的库?

TL/DR:问题从我已经制定的步骤开始,我认为有必要提及(请告诉我是否不重要,我将其删除).问题本身在页面底部.我已经发布了3个问题,它们的提问步骤与提出问题之前的步骤相同,但是问题有所不同.谢谢 我已经使用cmake成功编译了 libharu 库,因此我可以在自己的c ++项目中使用它来生成PDF文件.它是在Visual Studio 2013中作为Debug/Win32编译的. cmak ..
发布时间:2020-07-24 05:17:30 C/C++开发

不同库和链接顺序中的相同符号

我有2个库:test.1和test.2.这两个库都包含一个单独的全局 extern"C" void f();函数,具有不同的实现(对于测试来说只是一个cout). 我做了以下测试: 测试1 动态链接: 如果我在可执行文件的生成文件中添加libtest.1.so然后是libtest.2.so,然后在main中调用f();,则会调用libtest.1.so->f(). 如果我更改了ma ..

动态链接和静态链接的指令点值

通过使用Intel的引脚,我打印出了具有动态链接和静态链接的程序的指令指针(ip)值. 而且我发现,即使它们是同一程序,它们的ip值也大不相同. 具有静态链接的程序的第一个ip值显示为0x400f50. 但是具有动态链接的程序的第一个ip值显示为0x7f94f0762090 我不确定他们为什么会有这么大的差距. 如果有人可以帮助我找出原因,我们将不胜感激 解决方 ..

将C ++编译为可移植的Linux二进制文件

好吧,这个问题是关于便携式的,例如没有依赖项(例如,“我可以将二进制文件放入USB密钥中,并随身携带它,电子邮件,他们给朋友等". 我听说过静态链接,但是我对它的确切后果感到困惑;哪些可以静态链接,哪些不能静态链接(即Qt,OpenGL,libstdc ++呢?),然后二进制将在多大程度上“可移植"呢? 我也听说过 LSB (Linux标准库),但是我不知道它到底是什么,或者在这种意义 ..
发布时间:2020-05-29 01:44:38 C/C++开发

尝试在Linux/Ubuntu上使用oracle库构建静态CGO可执行文件

我已经搜索了几天,尝试了一些建议,但没有帮助.目前,我只想创建一个连接到Oracle数据库的小型Go代码段.尽管一切都可以通过使用普通的go build并调用生成的动态链接应用程序来完成,但在尝试运行静态编译器时却遇到了麻烦.我已经静态地构建了其他项目(即使使用CGO也没有问题),但是在这里gcc找不到oracle库.也许有人有提示吗? 构建过程中出现错误: host link: "g ..
发布时间:2020-05-22 00:13:28 数据库

没有虚拟内存支持的系统中的链接和分页

首先,虚拟内存是系统的硬件功能,还是仅由OS实现? 在链接时重定位期间,链接器在生成的可执行文件中为每个节和每个符号分配运行时地址 那些运行时地址是否对应于虚拟地址? 如果为其生成可执行文件的系统不使用虚拟内存怎么办? 接下来,如果不使用虚拟内存,则在加载时重定位后,应用程序的地址空间将限制为OS为其分配的物理地址空间 如果不使用虚拟内存,是否会发生页面错误? ..

在XCode中静态链接OpenSSL

我正在尝试在XCode命令行项目中链接libssl.a和libcrypto.a静态库[在与库链接二进制文件下].我已经在搜索路径中包含了Openssl头文件. 编译成功,但执行失败,并显示 dyld: Library not loaded: /usr/local/ssl/lib/libcrypto.1.0.0.dylib . 当我静态链接它时,为什么要寻找dylib?该如何解决? ..
发布时间:2020-05-21 02:32:32 其他开发

GPL/LGPL和静态链接

我在网上阅读了以下组合的存在: 专有源代码+ GPL源代码-> GPL源代码(所有代码必须在GPL下发布) 专有源代码+ LGPL源代码->专有源代码(所有代码均为专有) 现在,静态/动态链接GPL和LGPL代码如何与上述组合结合使用? 解决方案 如果您要分发合并的作品,则必须使用以下许可证; 专有源代码+ GPL源代码 静态链接或动态链接:您必须将这两个部分 ..
发布时间:2020-05-21 01:58:00 其他开发

将OpenMP与-fopenmp和-lgomp链接之间的区别

最近几天,我一直在努力解决一个奇怪的问题.我们使用GCC 4.8创建了一些库,这些库静态链接了它们的某些依赖项-例如. log4cplus或boost.对于这些库,我们使用boost-python创建了Python绑定. 每次这样的库使用TLS(就像log4cplus进行静态初始化时一样,或者stdlibc ++在引发异常时(不仅在初始化阶段时)那样),整个事件都在segfault中崩溃-以 ..
发布时间:2020-05-21 01:22:55 C/C++开发

从基于OpenCV静态库的项目创建可移植静态库

我使用“静态库"选项(-DBUILD_SHARED_LIBS=OFF)编译了OpenCV 3.x. 否,我有一个使用少量功能使用OpenCV构建的项目. 我想将我的项目构建为可移植的静态库. 用可移植的意思是我可以与其他人共享它,而无需安装OpenCV就可以在我的代码中使用我的功能. 如何在Windows,macOS和Linux上执行此操作? 我希望使用编译器来完成该过程,以便仅 ..
发布时间:2020-05-20 21:29:49 其他开发

MS Visual Studio 2012:建立静态链接的exe

我正在使用Visual Studio 2012和C ++,并且打算构建程序的完全静态可执行文件.它使用OpenCV 2.4.6,我希望能够在未安装任何OpenCV(甚至标准c ++库)的计算机上运行它.我试图按照所有有关该论点的指南进行操作,但是我无法解决它,所以我在这里. 感谢您的任何输入! 解决方案 没有2.4.6,但应该完全相同 关闭BUILD_SHARED_LIBS生成 ..
发布时间:2020-05-20 20:56:53 其他开发

通过cmake链接作为外部项目包括在内的opencv库

我对cmake还是比较陌生,经过几天的苦苦挣扎后仍无法弄清以下事情: 我有一个依赖于opencv的项目(这本身就是一个cmake项目),我想静态链接opencv库.我正在做的是在我的项目中有一份opencv源代码的副本,并通过 将其包含到我的CMakeLists.txt中. ExternalProject_Add(my_copy_of_opencv_project CMAKE_AR ..
发布时间:2020-05-20 20:00:27 C/C++开发

为什么链接器将静态库与错误链接?的iOS

将我的混合语言框架链接到项目时遇到问题. 1)我创建了一个包含Swift和Objective-C类的框架. 2)主要逻辑存储在Swift文件中.例如,该类具有调用NSLog("Swift log was created")的方法. 3)Objective-C文件具有一个类,该类具有一个方法,在该方法中,我创建了Swift类的实例并调用Swift-log方法. 4)我将此框架链接到我的Obje ..
发布时间:2020-05-19 00:04:51 移动开发

MSBuild.ILMerge.Task不允许重复的类型

从对ILMerge的调用中出现以下错误. ILMerge.Merge:错误!::复制类型 程序集中找到"System.Net.Http.HttpRequestMessageExtensions" 'System.Net.Http.Formatting'.您是否要使用/alllowDup 选项吗? 您会认为这很容易解决.错误消息说明了怎么办. 但是我对ILMerge的呼叫是由MSB ..
发布时间:2020-05-13 00:30:42 C#/.NET

将Mono编译为静态库

我想在Windows上将libmono编译为静态库. 目标平台是Windows x86.构建环境:Windows 7 64位,VC ++ Express 2010 我已经做了. 1)下载了mono 2.10.8来源. 2)从msvc文件夹中打开mono.sln,并确保所有内容都已编译. 3)然后我做了一些更改: 3.1)常规->项目默认设置->配置类型:静态库(.lib) ..
发布时间:2020-05-11 22:35:50 C/C++开发