shared-libraries

    36热度

    3回答

    我有一个共享库,我希望链接使用GCC的可执行文件。共享库的非标准名称不是libNAME.so形式,所以我不能使用通常的-l选项。 (它恰巧也是一个Python扩展,因此没有'lib'前缀) 我能够将路径传递到库文件直接到链接命令行,但这会导致库路径为硬编码到可执行文件中。 例如: g++ -o build/bin/myapp build/bin/_mylib.so 有没有办法链接到这个库,而不

    3热度

    2回答

    我有一个C++库和一个C++应用程序,试图使用从库中导出的函数和类。该库建立良好,应用程序编译但无法链接。这些错误我得到遵循这种形式: APP-源file.cpp :(文字+ 0x2fdb):未定义的引用`LIB命名空间:: GetStatusStr(INT)” 类在库中好像被链接器解析得很好,但自由函数和导出的数据(如余弦查找表)总是会导致上述错误。 我使用的是Ubuntu 8.04(Hardy

    15热度

    2回答

    我对Linux的加载libfoo.so.1一个可执行文件(这是一个SONAME)作为它的一个依赖(通过另一个共享库)。它也链接到另一个系统库,这反过来,链接到系统版本,libfoo.so.2。因此,均为libfoo.so.1和libfoo.so.2在执行期间被加载,并且应该从版本为1的库调用函数的代码最终会从具有版本2的较新系统库调用(二进制不兼容)函数,因为某些符号保留一样。结果通常是堆栈粉碎和

    1热度

    3回答

    我想在Windows上使用MSVC 6(retro!)构建一个共享库(DLL),并且我需要解决一个特殊的链接问题。我的共享库必须访问一些全局状态,由加载应用程序控制。 概括地说,我有什么是这样的: application.c: static int g_private_value; int use_private_value() { /* do something with g_pr

    2热度

    3回答

    我在Fedora Linux机器上工作。 我有一大堆的二进制文件和库,我安装在我的主目录下。 我想设置我的系统,所以安装软件的功能与我的相同,就好像root用户在没有前缀的情况下安装软件一样。 我可以运行安装在〜/ local/bin中的二进制文件,只需将该目录添加到我的PATH变量中,但是如何链接到〜/ local/lib和〜/ local/lib64中的库? 是否有类似于LD_LIBRARY_

    47热度

    6回答

    我有两个应用程序在tomcat/webapps文件夹下。 tomcat/webapps/App1 tomcat/webapps/App2 两个应用程序共享相同的库。其中存储在例如tomcat/webapps/App1/WEB-INF/lib中。 两个库都在内存中加载两次吗? 我应该把这些共享库放在tomcat/server/lib吗?

    3热度

    3回答

    我有一个应用程序,在启动时将.so文件加载为插件,使用dlopen() 构建环境在x86硬件上运行,但应用程序正在针对另一个平台进行交叉编译。 如果我可以(作为自动化构建过程的一部分)执行检查以确保在.so文件和应用程序的组合中没有任何未解决的符号,而无需实际部署应用程序。 在我编写脚本测试符号使用输出nm之前,我想知道是否有人知道已经这样做的实用程序? 编辑1:略有变化的说明 - 我不只是想在。

    1热度

    1回答

    我目前正在开发一个项目,将许多Excel VBA驱动的工作簿转换为VSTO解决方案。所有的工作手册都会共享一些类库和第三方程序集,实际上大部分工作都是在类库中完成的。我现在有这样的文件夹结构。 Base Libraries Assemblies Workbooks Workbook1 Workbook2 每个工作簿都是自己的解决方案,工作簿

    1热度

    3回答

    我正在用g ++ 3.3.4构建一个共享库。因为我越来越 ./BcdFile.RHEL70.so: undefined symbol: _ZNSt8_Rb_treeIjjSt9_IdentityIjESt4lessIjESaIjEE13insert_uniqueERKj 其中C++ filt的描述为 std::_Rb_tree<unsigned int, unsigned int, std::