首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

可重定位目标文件链接过程有关问题

2012-02-14 
可重定位目标文件链接过程问题。我定义了3个文件,分别为:global.hhttp.cppmain.cpp 文件中内容如下(部分有

可重定位目标文件链接过程问题。
我定义了3个文件,分别为:global.h http.cpp main.cpp 文件中内容如下(部分有些省略):

global.h文件部分内容: 
const int DEFAULT_AMOUNT = 100;  

http.cpp文件部分内容:
#include"http.h"
extern int DEFAULT_AMOUNT;

main.cpp文件部分内容:
#include"global.h"
#include"http.h"

int main()
{
  各种操作;
  return 1;
}

为什么我使用Makefile的时候总是提示 "Undefined reference to "DEFAULT_AMOUNT" 呢"

makefile如下:
main: main.o http.o 
  g++ main.o http.o -o main;
http.o: http.cpp
  g++ -c http.cpp -o http.o
main.o main.cpp
  g++ -c main.cpp -o main.o


这种链接程序到底改如何写呢,谢谢各位~

[解决办法]
把对DEFAULT_AMOUNT的定义都放到cpp文件中去,其中某个cpp中不用extern,另外的用extern修饰~
[解决办法]
参照:http://blog.sina.com.cn/s/blog_4e967c8b010100qa.html

热点排行