static-libraries相关内容
我使用 code::blocks 来编译我的静态库.输出结果是一个 libstatic.a 文件.现在,如何链接到我的库以使用已编译的函数? (我尝试使用 #include "libstatic.a" 但我的项目无法编译) 解决方案 cc -o yourprog yourprog.c -lstatic 或 cc -o yourprog yourprog.c libstatic.a
..
我见过的 --whole-archive 链接器选项的唯一真正用途是从静态库创建共享库.最近我遇到了 Makefile(s),它在与内部静态库链接时总是使用这个选项.这当然会导致可执行文件不必要地引入未引用的目标代码.我对此的反应是这完全是错误的,我在这里遗漏了什么吗? 我的第二个问题与我阅读的有关整个存档选项的内容有关,但无法完全解析.如果可执行文件也链接到共享库,而共享库又具有(部分)与
..
我们在托管在apache服务器中的Web应用程序中使用java库.库中的ReadConfFile方法返回文件未找到错误.方法如下 public byte[] ReadConfFile(){尝试{File file = new File("/home/product/api/conf.txt");如果(!文件.存在())返回“找不到文件".getBytes();byte[] buf = new b
..
Java 8 之前的 Java 版本要求本机代码位于共享库中,但我读到 Java 8 可以将静态链接库与 JNI 一起使用.我已经搜索了示例,但找不到任何示例. 如何将 JNI 库静态链接到我的 Java 应用程序中? 解决方案 Java SE 8 规范已更改为支持静态链接,并且在 JDK 中实现了静态链接.这在 System.loadLibrary.它所指的 JNI 规范的部分是
..
如何在没有可执行文件的情况下仅使用 clion 构建静态库?CMakeLists.txt 是什么样的?(没有add_executable) 更新:如果我不向 Clion 添加可执行文件,我有一个错误,需要可执行文件. 这里是我的 CMakeLists.txt. 解决方案 这是一个老问题.但我会将您的问题的答案添加为对其他人的帮助.您需要将 add_executable 替换为
..
我正在尝试使用 CMake 构建一个基于 OpenCV 的项目,该项目在 Linux 上运行.到目前为止,我的 CMakeLists.txt 文件看起来像 FIND_PACKAGE(需要 OpenCV)...TARGET_LINK_LIBRARIES(我的可执行文件 ${OpenCV_LIBS}) 但这会导致动态链接库.如何链接静态库? 解决方案 您只需在 CMake 中将 BUILD
..
假设我有以下库: add_library(myLib_static STATIC ${SRC_FILES})add_library(myLib 共享 ${SRC_FILES})# 安装头文件安装(文件 ${H_FILES} 目的地 ${INSTDIRHEADER})# 安装二进制文件安装(目标 myLib_static目的地 ${INSDIRBIN})安装(目标 myLib目的地 ${INSDI
..
Clion:如何在我的项目中添加或(使用)预构建的静态库? 解决方案 您可能在问如何将您的项目链接到预先构建的静态库.如果是这样,您可以通过调用 target_link_libraries. 假设你的项目名为 myProj 和预建库 myLib.lib,你可以这样做: target_link_libraries(myProj myLib)
..
我开始使用 C 来使用 CMAKE,实际上我正在创建两个非常小的静态库. 我的目标是: 库被编译并链接到 *.a 文件中.[这作品] 然后我希望将 *.a 文件复制到/usr/local/lib [这也有效] 就我对库的了解(很少),它们使用 -lnameoflib 链接,这是一个编译器标志.行.我已经准备好了我的 CMakeLists.txt,它实际上将 *.a 文件复制到 /u
..
与使用cmake将目标文件链接到lib.xxxx.a文件相关,但不太一样,我使用 VS2008 SP1 使用 CMake 2.8.x 在 Windows 上构建了几个静态库.有没有办法单独通过 CMake 将所有现有静态库中的所有 .obj 文件重新链接到一个更大的整体库中,最好通过 add_library CMake 函数或其他类似的构造? 我认为答案是否定的,所以我考虑过通过通常的 ad
..
我在一个项目中使用 CMake,并且我正在尝试静态链接一些库.我已经设置: set(BUILD_SHARED_LIBS OFF)设置(CMAKE_EXE_LINKER_FLAGS“-static-libgcc -static-libstdc++ -static")set_target_properties(icarus PROPERTIES LINK_SEARCH_END_STATIC 1)
..
我有一个带有 Makefile 的小项目,我正在尝试将其转换为 CMake,主要是为了获得 CMake 的经验.出于本示例的目的,该项目包含一个源文件(C++,但我认为该语言不是特别相关)和一个我从别处复制的静态库文件.为了论证,假设库的源代码不可用;我只有 .a 文件和相应的标题. 我手工制作的 Makefile 包含此构建规则: main: main.o libbingitup.ag+
..
我有一个与 cmake 上的 描述 非常相似的问题邮件列表,我们有一个依赖于许多静态库的项目(全部从单个子模块中的源代码构建,每个子模块都有自己的 CMakeLists.txt 描述每个库的构建过程),我想将它们组合成一个静态库以供发布给消费者.我的库的依赖项可能会发生变化,我不希望这些变化给链下游的开发人员带来负担.简洁的解决方案是将所有库捆绑到一个库中. 有趣的是,在将目标设置为 myl
..
在编译和链接过程中,.exp有什么用?.lib 和 .dll 有什么区别?我知道将使用 .lib,而在运行程序时将使用链接和 .dll.但 .lib 和 .dll 到底有什么区别? .lib 文件是否不包含来自 .dll 文件的函数的代码?使用两个单独的文件有什么需要? 请澄清. 解决方案 对于 DLL 的导入库,.lib 文件根本不包含任何实际代码.它基本上只包含关联 DLL
..
静态库、静态链接动态库和动态链接动态库的.lib文件里面是什么? 为什么动态链接的动态库和静态链接中不需要 .lib 文件,.lib 文件只是一个包含所有方法的 .obj 文件.对吗? 解决方案 对于静态库,.lib 文件包含该库的所有代码和数据.然后链接器识别它需要的位并将它们放入最终的可执行文件中. 对于动态库,.lib 文件包含从库中导出的函数和数据元素的列表,以及它们来
..
我正在尝试了解 Microsoft Windows 上的此 LIB 文件业务,并且我刚刚发现了一项发现,希望能够消除迄今为止阻碍我清楚了解该问题的困惑.也就是说,LIB 文件并不是它们的文件扩展名所暗示的那种文件. :: cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib":: lib/nologo/list Ad1.Libob
..
我对 DLL 和 LIB 知之甚少,只知道它们包含程序正常运行所需的重要代码 - 库.但是为什么编译器会生成它们呢?将所有代码包含在单个可执行文件中不是更容易吗?DLL 和 LIB 之间有什么区别? 解决方案 有静态库 (LIB) 和动态库 (DLL) - 但请注意 .LIB 文件可以是静态库(包含目标文件)或导入库(包含允许链接器链接到 DLL 的符号). 使用库是因为您可能有要在
..
在 AppDelegate 中,我分配了一个在静态库中定义的实例.这个实例有一个 NSString 属性设置一个“副本".当我访问此实例上的字符串属性时,应用程序崩溃并显示“无法识别的选择器发送到实例".Xcode 为该属性提供了一个代码提示,这意味着它在调用应用程序中是已知的.特定类被编译到静态库目标中.我错过了什么? 添加一些代码. //静态库//ClassA.h@interface
..
我构建了一个大量使用 Core Data 框架的静态库.我可以在我的外部项目中成功使用该库,但前提是我在主项目中包含 .xcdatamodel 文件.这不太理想,因为该库的目的是最大限度地隐藏实现细节. 在单独的问题中,我被告知我不能将资源与图书馆捆绑在一起(现在对我来说完全有意义). 那么有没有办法以编程方式允许“发现"模型而不必将模型包含在主项目中? 解决方案 我还创建了自
..
将静态库链接到可执行文件时,通常会丢弃未引用的符号.在我的例子中,一些其他未使用的对象用于将它们各自的类注册到工厂中,如果对象被丢弃,则注册失败. 在我们使用 gcc 的 Unix 下,我可以将标志 --whole-archive 传递给链接器 ld(请参阅下面 ld 文档的摘录),这使得 ld 不会丢弃任何对象.Visual C++ 有没有类似的东西? --整体存档 对于
..