作者xiaudai.bbs@bbs.cis.nctu.edu.tw (小呆) 看板: hacker
標題請問.c檔裡可否使用用C++編譯成的程式庫.
時間交大資科_BBS (2007/08/01 Wed 16:14:17)
以下例子, 我用C++編譯器編譯a.h和a.cpp, 產生一個 a.lib
然後我在 b.c 裡引用 a.h 並呼叫 func1()
可是編譯 b.c 時, linker 產生一個錯誤, 它無法找到 func1()
我的開發環境是 Visual Studio 2005, 我確定linker 的設定中,
我有把 a.lib加進去
我在a.h裡把 "void func1();" 改成 "extern "C" void func1()"
也無作用
請問各位該如何解決這個問題? 感謝
a.h
=====
void func1();
a.cpp
=====
void func1() {
}
b.c
======
#include "a.h"
void func2() {
func1()
}
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>