g++ -shared -fPIC -o ../../bin/libGXxml.so ./Element.o ./ElementStream.o ./judo.o /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object. 请问为什么会报警告, 是哪个地方出了问题, 多谢....
在AIX下,编译动态库,由于动态库要使用多线程和序列号,所以用了互斥锁。 pthread_mutex_t m_SerialLock; /* Serial锁 */ 但是一初始化,程序就直接core了 pthread_mutex_init( &m_SerialLock, NULL ); 还有创建线程的时候,也coredump if ( pthread_create( &tid, NULL, thread_Send, NULL ) != 0 ) printf("creat send thread error!!!\n"); 想不明白,请教高人。。。。。
请教大家一下。 在编译的时候,需要用到一些动态库。当把动态库放在/usr/lib下工作正常,现在我把库放在了一个自己建立的目录里面,然后在/etc/ld.so.conf里指明了库的路径,这时候可以编译过去,但在执行的时候,结果是错误的,这是什么原因呀。 另外,如果不想在/etc/ld.so.conf中指示路径,还有什么方法呢。
进程A会顺序加载两个功能类似的动态库B和C,动态库的导出接口完全一样,为防止同一动态库被多次加载,每个动态库中都定义了一个全局指针,动态库加载前指针为NULL,代码示例: //file A CTaskA* pTask = NULL; extern "C" { DLLEXPORT NewTask(省略参数) { if (NULL == pTask) { pTask = new CTaskA(省略参数); } } } //file B CTaskB* pTask= NULL; extern "C" { ...
我要把一段代码编译成.so动态库,而这段代码又引用了几个.a的静态库,请问我怎样能把这几个静态 库都打进.so中,不知道是不是我写的makefile有问题,编译的时候一加上静态库就出错.下面是makefile最后生成的gcc命令行: gcc xxxx.o -fPIC -Wstrict-prototypes -Wall -Wunused -O3 -shared -L... -lxxx -o ../../lib/cdbautils.so 只要我加上-lxxx,引入需要的静态库,链接时就会出错 但是不引入的话,其它程序引用这个.so时也会...
诸位老大,有哪位在solaris下面做过动态库(*.so),能否贴个makefile上来。我这里碰到了一个问题,望能得到您的协助 我们当年在linux下面做过一个自己的类库,其中使用了posix的一些标准的函数,如sem_init等等。在LInux下面编译成test.so动态库,并且能够用应用程序调用该库中的函数。 现在我们要将之移植到solaris下面,编译该库的时候,编译成功,但是使用该库的应用程序编译的时候,在link的时候,说在link我们test.so的时候...
我用PROC[ORACLE]写了一些代码编译动态库,在AIX上编译没有问题,可以调用,但是移植到HPUX下,编译可以通过,但是不能调用,各位帮忙看一看。 proc iname=KPI_03_06.pc oname=KPI_03_06.c cc +z -g -I. -D_DEBUG_ -DORACLE -DHP -I/home/oracle/app/oracle/product/8.1.7/precomp/public -I/home/oracle/app/oracle/product/8.1.7/rdbms/demo -I/home/oracle/app/oracle/product/8.1.7/rdbms/public -I/home/oracle/app/or...
进程A会顺序加载两个功能类似的动态库B和C,动态库的导出接口完全一样,为防止同一动态库被多次加载,每个动态库中都定义了一个全局指针,动态库加载前指针为NULL,代码示例: //file A CTaskA* pTask = NULL; extern "C" { DLLEXPORT CTaskA* NewTask(省略参数) { if (NULL == pTask) { pTask = new CTaskA(省略参数); } return pTask; } } //file B CTaskB* p...
出错信息:
[code]
unable to open dll info: Can't dlopen() a library containing Thread Local Stora
ge: /usr/lib/libpthread.1
[/code]
2个程序,test_dll.c 需要编译成可 dlopen 的动态库,现在不知道编译命令如何
写,哪位知道的朋友指点一下。
[code]
/* test_dll.c */
#include