Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 与Sunstudio的静态链接_C++_Static Libraries_Sunstudio - Fatal编程技术网

C++ 与Sunstudio的静态链接

C++ 与Sunstudio的静态链接,c++,static-libraries,sunstudio,C++,Static Libraries,Sunstudio,我正在尝试将我的库xxx链接到库yyy。我想静态链接,这样在我交付xxx时就不需要将yyy和xxx打包。我有两个由第三方提供的yyy版本:libyyy.so和libyyyln.a。所以我来和-lyyyln联系 我链接时没有收到任何错误消息。当我执行“ldd libxxx.so”时,不会显示对yyyln的依赖关系。但是“ldd-r libxxx.so”表示yyy中的符号没有解析。“nm libxxx.so”表示yyy中的这些符号未定义 那么我错过了什么 Edit1:我最终设法让它与“-l/full

我正在尝试将我的库xxx链接到库yyy。我想静态链接,这样在我交付xxx时就不需要将yyy和xxx打包。我有两个由第三方提供的yyy版本:libyyy.so和libyyyln.a。所以我来和-lyyyln联系

我链接时没有收到任何错误消息。当我执行“ldd libxxx.so”时,不会显示对yyyln的依赖关系。但是“ldd-r libxxx.so”表示yyy中的符号没有解析。“nm libxxx.so”表示yyy中的这些符号未定义

那么我错过了什么


Edit1:我最终设法让它与“-l/fullpath/libyyyln.a”一起工作,

我假设您使用的是gcc。默认情况下,如果可以,gcc将使用共享库(.so),因此您必须强制它使用选项-static静态链接


编辑:对不起,我以为sunstudio是您试图链接的库的名称,我忘了sunstudio包含一个编译器。但是,sun studio必须有一个类似的选项。

我假设您使用的是gcc。默认情况下,如果可以,gcc将使用共享库(.so),因此您必须强制它使用选项-static静态链接

编辑:对不起,我以为sunstudio是您试图链接的库的名称,我忘了sunstudio包含一个编译器。但是,sun studio必须有一个类似的选项。

看看这是否有帮助: 看看这是否有帮助:

您想将
-Bstatic
放在您想要静态链接的libs前面。
深入了解更多信息。

您想将
-Bstatic
放在需要静态链接的libs前面。
深入了解更多信息。

您可以在Sun Studio论坛上提出这个问题,并直接从Sun Studio编译器团队获得答案


(对于C、C++、FORTRAN和工具)

< P>你可以在Sun工作室论坛上提出这个问题,直接从Sun工作室编译团队

得到答案。

(对于C、C++、FORTRAN和工具)

< P>我最终用“-L/PultPosie/LyByyLn”A(

)使它工作。
我使用了-Bstatic和-Bdynamic,但没有成功。解决方案实际上和上面写的一样简单。我应该早点想到它。

我最终设法让它与“-l/fullpath/libyyln.a”一起工作

我使用了-Bstatic和-Bdynamic,但没有成功。解决方案实际上和上面写的一样简单。我早该想到的