Oracle Solaris Studio 12.2:C++ 用户指南

2.4.3 一致编译和链接

如果在不同的步骤中进行编译和链接,在使用3.3.3 编译时选项和链接时选项中所列的编译器选项时,一定要在编译和链接时保持一致。

如果使用其中任何选项编译子程序,必须在链接时也使用相同的选项:

在以下示例中,使用 -library=stlport4 编译器选项编译程序。


 example% CC -library=stlport4 sbr.cc -c
example% CC -library=stlport4 main.cc -c
example% CC -library=stlport4 sbr.o main.o -o myprogram 

如果没有一致地使用 -library=stlport4,程序的某些部分将使用缺省的 libCstd,其他部分将使用可选的替换 STLport 库。生成的程序可能不进行链接,因此在任何情况下都不能正常运行。

如果程序使用模板,某些模板可以在链接时实例化。在这种情况下,来自最后一行(链接行)的命令行选项将用于编译实例化的模板。