分割コンパイルについて
現在分割コンパイルが分からずに苦戦しています。
下記のリストは構造体を使わなければコンパイラを通すことができましたが、
使うとなぜか通りません。
あれこれ試しましたがどうしても分かりません。
何がおかしいのでしょうか?
*define.hで全てのファイルへの定義や宣言を行わせています。
//////////////
//Main.cpp
//////////////
#include <stdio.h>
#include <conio.h>
#include "define.h"
int main( void ){
Tmp[0].c = 15;
printf("a: %d\n", a);
printf("b: %d\n", b);
printf("c: %d\n", Tmp[0].c);
printf("NUM:%d\n", NUM);
aaa();
bbb();
getch();
return 0;
}
//////////////////
// A.cpp
/////////////////
#include <stdio.h>
#include "define.h"
void aaa( void ){
printf("a: %d\n", a);
printf("b: %d\n", b);
printf("c: %d\n", Tmp[0].c);
printf("NUM:%d\n", NUM);
}
//////////////////
// B.cpp
/////////////////
#include <stdio.h>
#include "define.h"
void bbb( void ){
printf("a: %d\n", a);
printf("b: %d\n", b);
printf("c: %d\n", Tmp[0].c);
printf("NUM:%d\n", NUM);
}
//////////////////
// define.cpp
/////////////////
#include "define.h"
int a = 10;
int b = 20;
struct Parameter {
int c;
};
struct Parameter Tmp[NUM];
//////////////////
// define.h
/////////////////
#define NUM 100
extern int a;
extern int b;
extern struct Parameter Tmp[NUM];
void aaa( void );
void bbb( void );