私は 1 つのフォーム (Form1.h) と実際のアプリケーションである plugin.ccp ファイルを含む C++ アプリケーションを持っています。このプログラムは、USB で cnc マシンと通信する Mach3 cnc コントローラー用のプラグインです。
Form1.h と plugin.ccp で使用できるグローバル変数が必要です。このサイトで見つけた解決策を試してみました。
Form1.h :
extern BOOL B1;
Form1.ccp
#include "Form1.h"
BOOL B1 = TRUE ;
プラグイン.ccp
#include "Form1.h"
そして、エラーなしでコンパイルされます。しかし、このようなタイプの場合
Form1.h
B1 = FALSE;
// or
SomeOtherVar = B1;
それは私に与えます
エラー 1 エラー LNK2020: 未解決のトークン (0A00003B) "int mach_plugin::B1" (?B1@mach_plugin@@3HA) E:\mach_vmotion\Plugin.obj mach_vmotion エラー 2 エラー LNK2020: 未解決のトークン (0A00000E) "int mach_plugin::B1" (?B1@mach_plugin@@3HA) E:\mach_vmotion\Form1.obj mach_vmotion エラー 3 エラー LNK2001: 未解決の外部シンボル "int mach_plugin::B1" (?B1@mach_plugin@@3HA) E:\mach_vmotion\Form1.obj mach_vmotion エラー 4 エラー LNK2001: 未解決の外部シンボル "int mach_plugin::B1" (?B1@mach_plugin@@3HA) E:\mach_vmotion\Plugin.obj mach_vmotion エラー 5 エラー LNK1120: 3 つの未解決の外部 E:\mach_vmotion\Debug\mach_vmotion.dll mach_vmotion