在Oracle Solaris

时间:2019-04-18 03:38:19

标签: c++11 solaris solaris-studio

全部

如果这属于SO的Unix / Linux部分,首先致歉。但是,这两个问题之间的界限很窄。如果您觉得我应该在那发布,请告诉我,我将继续进行。所以去了:

我正在尝试在Oracle Solaris上编译一个程序,该程序可以在使用Solaris Studio的Linux上成功构建。

但是,我在使用STL功能时遇到了很多链接器错误。我的猜测是生成的Makefile是针对Linux / gcc的,它没有考虑其他任何因素。

在Solaris中搜索符号的方式是什么?

为Makefile生成的命令是:

Igor Korot

4月16日,星期二,7:26 PM(15小时前)

到wx-dev 你好 我正在尝试查看wxWidgets 3.1.1是否可以在Oracle Solaris上与 最新的Solaris Studio 12.6。

但是库正确编译,当我尝试构建最小库时,我得到了:

igor@solaris:~/wxWidgets/buildSol/samples/minimal$ make
CC -o minimal   minimal_minimal.o
-L/export/home/igor/wxWidgets/buildSol/lib
-R/export/home/igor/wxWidgets/buildSol/lib -mt  -lwx_gtk3u_core-3.1
-lwx_baseu-3.1        -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0
-latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0
-lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lX11 -lXxf86vm -lSM -lgtk-3
-lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo
-lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lnotify
-lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lXtst
-lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig
-lfreetype -lpng -lz -ljpeg -ltiff -llzma  -lwxregexu-3.1  -mt    -lz
-lsecret-1 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lm -lz -lsecret-1
-lgio-2.0 -lgobject-2.0 -lglib-2.0 -lm

这是它产生的几个错误:

Undefined                       first referenced
 symbol                             in file
std::wstring::_M_rep()const
/export/home/igor/wxWidgets/buildSol/lib/libwx_gtk3u_core-3.1.so
jpeg_CreateDecompress(jpeg_decompress_struct*, int, unsigned int)
/export/home/igor/wxWidgets/buildSol/lib/libwx_gtk3u_core-3.1.so
std::wstring::capacity()const
/export/home/igor/wxWidgets/buildSol/lib/libwx_gtk3u_core-3.1.so
jpeg_resync_to_restart(jpeg_decompress_struct*, int)
/export/home/igor/wxWidgets/buildSol/lib/libwx_gtk3u_core-3.1.so
std::streambuf::pbackfail(int)
/export/home/igor/wxWidgets/buildSol/lib/libwx_gtk3u_core-3.1.so
std::wstring::insert(__gnu_cxx::__normal_iterator<wchar_t*,
std::wstring>, wchar_t)
/export/home/igor/wxWidgets/buildSol/lib/libwx_baseu-3.1.so
std::wstring::basic_string()
/export/home/igor/wxWidgets/buildSol/lib/libwx_baseu-3.1.so
std::wstring::basic_string() minimal_minimal.o
std::wstring::~basic_string()
/export/home/igor/wxWidgets/buildSol/lib/libwx_baseu-3.1.so
std::wstring::~basic_string() minimal_minimal.o
std::wstring::operator=(wchar_t)
/export/home/igor/wxWidgets/buildSol/lib/libwx_gtk3u_core-3.1.so

TIA!

1 个答案:

答案 0 :(得分:0)

我认为这是C ++标准库问题。那里有C ++的不同实现。查看是否可以在Solaris上找到与您相匹配的另一个编译器/库。