少し C++ を独学するために、Saitek X52 Pro ジョイスティック ディスプレイにテキストを書き込む小さなプログラムを作成することにしました。
Eduards C-library http://plasma.hasenleithner.at/x52pro/を使いたかった
C++ プログラムでメソッドを使用する場合、メソッドの周りに「extern C」を配置する必要があることはわかっています。しかし、それはライブラリのヘッダファイルを変更することを意味します - そしてそれはもうビルドされません. この場合、どのようなアプローチが正しいでしょうか?
編集: 提案された方法は部分的に機能しました。
Comm.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 で定義されているすべてのメソッドです。