小编JT *_*ies的帖子

g ++生成空对象文件

我试图将基本数组包装器模板类编译成.o文件,试图找出如何制作动态库.但是,在编译源代码时

g++ -std=c++0x -c array.cpp
Run Code Online (Sandbox Code Playgroud)

生成的文件只有~650字节.我用nm检查了文件,发现它包含的唯一符号是

00000001 r _ZStL13allocator_arg
00000000 r _ZStL19piecewise_construct
Run Code Online (Sandbox Code Playgroud)

这似乎是C++ 11编译的特性,因为在没有-std = c ++ 0x标志的情况下编译时它们就消失了.

尝试使用命令编译程序测试代码

g++ -std=c++0x -o tester tester.cpp array.cpp
Run Code Online (Sandbox Code Playgroud)

为array.cpp中的所有内容生成链接器错误,但否则会干净地编译.

老实说,我不知道这是怎么回事.如果您怀疑这是我的代码本身的问题,而不是我如何编译它,我可以发布array.cpp和array.hpp的内容.

c++ compiler-construction linker g++ c++11

3
推荐指数
1
解决办法
1315
查看次数

标签 统计

c++ ×1

c++11 ×1

compiler-construction ×1

g++ ×1

linker ×1