我使用了clang編譯器,並試圖將我的文件分離成頭文件,但是存在兩個問題:結構不可見或者存在一堆永遠不會包含的函數原型。在一個頭文件中有一個結構
header.h
#ifndef GUARD
#define GUARD 1
struct A{
int b;
};
// some function prototypes
int blah(struct A* a);
#endif
我再有一個它的實現
header.c
和樣本文件中使用它,包括頭,但是我得到的幾個錯誤或者
Undefined symbols for architecture x86_64:
"_blah", referenced from:
_main in main-Ghk6wa.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
或者如果我從文件報告中刪除結構e結構不可見和錯誤。
然後我有頭文件中實施的情況和樣本測試文件
沒錯完全忘了這一點,而是認爲它是頭文件。 – Zimm3r