使用extern和链接文件

时间:2017-09-27 22:33:36

标签: c++

所以我应该链接这3个文件,但是当我运行use.cpp时它告诉我print_foo和print有问题所以我的链接或声明一定有问题;(仅供参考我使用Xcode来编译)

这是头文件

// my.h   (HEADER FILE)
extern int foo;
void print_foo();
void print(int);

这是my.cpp

// my.cpp
#include "my.h"
#include "std_lib_facilities_5.h"

void print_foo() {
    cout << foo;
}

void print(int i) {
    cout << i;

}

int main() {

    return 0;
}

这是use.cpp

// use.cpp
#include "my.h"   /* Declaration made available here */

int foo;

int main() {

     foo = 7;
     print_foo();
     print(99);

    return 0;
}

2 个答案:

答案 0 :(得分:0)

你没有提到你是如何编译它们的,就像你可以在unix系统上做的那样

$ gcc my.cpp use.cpp -o my

编译

答案 1 :(得分:0)

您必须删除

中的主要内容
  

my.cpp

你不能有两个主要的。