Articles of 静态库

iOS:Unix:Mac从关于支持的体系结构的静态库中提取信息。 怎么样?

我在我的Mac上有一个静态库,并且好奇地知道这个库是不是为armV7架构而build造的? 是否有任何命令/工具可用于显示此库中支持的体系结构? 谢谢你,卡姆兰

在静态库中可用的二进制variables消失

我有提到的问题。 我在一个静态库中创build了一个对象,当我在静态库上运行nm时,它就在那里,但是当我把这个库链接到一个二进制文件并运行nm它就消失了。 我知道这个问题之前已经被问过了,但我找不到任何答案。 对于我来说,能够在二进制文件中保留该variables是非常重要的,因为我们正在试图对二进制文件中的静态库进行版本检查。 请帮忙。 谢谢。 示例代码如下: test.h #ifndef TEST_H #define TEST_H class Test { public: Test(); }; extern Test* gpTest; #endif TEST.CPP #include "test.h" Test::Test() { gpTest = this; } Test test; main.cpp中 #include "test.h" #include <iostream> using namespace std; Test* gpTest = NULL; int main() { return 0; } build立 g++ -c test.cpp […]

“警告:将共享库链接到静态库不是可移植的”是什么意思?

我正在使用libmxml.a函数库的一个dynamic库,但我得到这个警告: *Warning: Linking the shared library libgstmatroskademux.la against the _ *static library /home/Mr32/gst-template4_final/gst-plugin/src/libmxml.a _ is not portable! 我也得到这个警告: gcc: /home/Mr32/gst-template4_final/gst-plugin/src/libmxml.a: linker _ input file unused because linking not done 那么这个警告的意义是什么,我怎么解决呢? 编辑: 有一个已经自动生成的make文件来编译gstreamer插件。 现在,在该插件中使用libmxml.a的一些函数,我在make文件的GST_CFLAGSvariables中添加了$(PATH)/libmxml.a 。 现在,当我做了make install ,插件工作正常,但我仍然得到这个警告。

在构build期间将静态库链接到共享库?

使用GCC / Linux构build共享库时遇到问题。 目前这个共享库是用GCC / libtool选项“-shared”创build的,一切正常。 现在有两个额外的静态库(.a-files)必须被添加到这个共享库中,因为它们提供了共享所需的一些function。 添加这些静态库的选项“-l”没有帮助,之后他们不是.so文件的一部分。 那么我怎么能强制GCC / libtool真的把这些静态库的代码添加到共享库中呢? 谢谢!

我如何告诉cmake我想我的项目静态链接库?

我正在尝试使用在Linux上运行的CMake构build一个基于OpenCV的项目。 到目前为止,我的CMakeLists.txt文件看起来像 FIND_PACKAGE (OpenCV REQUIRED) … TARGET_LINK_LIBRARIES (my-executable ${OpenCV_LIBS}) 但是这会导致dynamic链接的库。 我如何链接静态库?

build立OpenCV作为静态库

也许我错过了一些东西,但我无法构buildopencv的静态库。 build立: Kubuntu 12.04 gcc 4.6.3 使3.81 2.8.7 opencv 2.4.6.1(最后一个可用的网站) 我手动完成所有工作。 我尝试用cmake-gui没有更多的成功。 我做它写的东西。 $ cmake -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D BUILD_PYTHON_SUPPORT = ON -D WITH_QT = ON -D BUILD_SHARED_LIBRARIES = OFF .. (我也尝试了BUILD_SHARED_LIBRARIES = NO) 我得到的是(例如核心): libopencv_core.so libopencv_core.so.2.4 libopencv_core.so.2.4.6 libopencv_core_pch_dephelp.a 说实话,我期望libopencv_core.a 。 我是一个在Linux上build立包/ libs的新手。 我确定有些事我做错了,但我不知道是什么。 另外我不想使用dynamic库… 谢谢你的帮助! 编辑删除cmake命令行中的-D […]

我如何build立一个旧的Linux发行版的应用程序,并避免FATAL:内核太旧的错误?

我在Linux上发布一个静态链接的二进制版本的应用程序。 但是,在2.4内核的系统上,启动时会出现段错误,并显示“FATAL:kernel too old”。 我如何轻松地获得2.4内核的版本? 我需要的一些库甚至在2003年前后的旧版本的linux发行版上都没有。有没有apt-get install或者能让我轻松定位旧内核的东西?

从Java Web应用程序访问Linux本地文件系统

我们在一个web应用程序里面使用了一个java库,它是在Apache服务器中托pipe的.ReadConfFile方法在库中返回文件时找不到错误。方法如下 public byte[] ReadConfFile() { try { File file = new File("/home/product/api/conf.txt"); if(!file.exists()) return "file not found".getBytes(); byte[] buf = new byte[(int) file.length()]; FileInputStream fis = new FileInputStream(file); fis.read(buf); return buf; } catch (IOException e) { e.printStackTrace(); return null; } } 是否允许从Web应用程序访问本地文件系统? 如果是,那么是否有必须设置的访问权限?

我需要静态库来静态链接吗?

在'C'上,Linux, 我需要静态库来静态链接,或者我有足够的共享吗? 如果没有,为什么不呢? (不要包含相同的数据?)

如何在Windows上构buildgnu`libiconv`?

我想在Windows上构build一个静态库(* .LIB文件) GNU libiconv ,与Visual C ++中的其他库一起使用。 我正在使用的其他库是使用“multithreadingDLL”(/ MD)运行时选项构build的。 所以,我需要使用相同的选项来构buildlibiconv。 问题是libiconv使用GNU构build系统,我想用/ MD选项编译。 你可以在这里看到libiconv的源代码结构: http ://cvs.savannah.gnu.org/viewvc/libiconv/?root=libiconv Zlatkovic先生维护libxml2的GNU libiconv的Windows端口 你可以在这里看到他们: ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip ftp://xmlsoft.org/libxml2/win32/iconv-1.9.2.win32.zip 我不能使用他的端口。 我需要从最新版本的libiconv-1.13开始构build。 我不知道这个人是如何移植它的? 有人可以告诉我如何从这个build立* .lib并使用MSVC编译它? 编辑: 其实,我需要build立几个相同的设置GNU库。 所以,如果我得到一个库的解决scheme。 我可以为所有其他人做同样的事情。