为了自学一点 C++,我决定编写一个小程序来将文本写入我的 Saitek X52 Pro 操纵杆显示器。
我想使用 Eduards C 库 http://plasma.hasenleithner.at/x52pro/
我知道如果我想在我的 C++ 程序中使用它们,我必须在方法周围放置一个“extern C”。但这意味着更改库的头文件 - 然后它就不会再构建了。在这种情况下,正确的方法是什么?
编辑:建议的方法部分起作用。
通讯.cpp:
...
extern "C"{
#include <x52pro.h>
}
using namespace std;
int main ( int argc, char *argv[] ) {
cout<<"entered main"<<endl;
char *String;
strcpy(String,"testing");
struct x52 *hdl = x52_init();
x52_settext(hdl, 0,String , 7);
x52_close(hdl);
return EXIT_SUCCESS;
}
错误信息:
Comm.o: In function `main':
Comm.cpp|38| undefined reference to `x52_init'
Comm.cpp|39| undefined reference to `x52_settext'
Comm.cpp|40| undefined reference to `x52_close'
这些都是在 x52pro.h 中定义的所有方法