C++ 未定义的引用问题,最小为;“外部”;使用测试用例
我的测试用例有两个文件: a、 抄送: 在a.o.中,我有以下符号:C++ 未定义的引用问题,最小为;“外部”;使用测试用例,c++,linker,extern,C++,Linker,Extern,我的测试用例有两个文件: a、 抄送: 在a.o.中,我有以下符号: 0000000000000018 b _ZL12program_name 在b.o.中: U program_name 问题是:我为什么在这里开枪打自己的脚 注:g++4.9.1很好。这都是由于const关键字造成的 它已在stackoverflow上: 让我引述: 这是因为const默认意味着内部链接,所以您的“定义”在出现的翻译单元之外是不可见的 谢谢我已经解决了这个问题,在定义中加入了“extern
0000000000000018 b _ZL12program_name
在b.o.中:
U program_name
问题是:我为什么在这里开枪打自己的脚
注:g++4.9.1很好。这都是由于
const
关键字造成的
它已在stackoverflow上:
让我引述:
这是因为const默认意味着内部链接,所以您的“定义”在出现的翻译单元之外是不可见的
谢谢我已经解决了这个问题,在定义中加入了“extern”。
$ g++ -c a.cc -o a.o -std=c++11 -O2
$ g++ -c b.cc -o b.o -std=c++11 -O2
$ g++ a.o b.o -o case
b.o: In function `main':
b.cc:(.text.startup+0x7): undefined reference to `program_name'
collect2: error: ld returned 1 exit status
0000000000000018 b _ZL12program_name
U program_name