使用外部变量会导致"unsigned char"错误LNK2001
Using external Variables results in "unsigned char" Error LNK2001
我在头文件中定义了两个extern unsigned char
,用于在两个类之间传输两个char
。在第一个.cpp
中,我像普通变量一样使用它们来存储我从函数中获得的输入,而无需任何进一步的声明,如下所示:
测试.h
extern unsigned char tempName;
extern unsigned char tempValue;
测试.cpp
void NanoKontrol2::midi_in_proc(UINT wMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2) {
unsigned char ch_msg, data1, data2, data3;
switch (wMsg) {
case MIM_DATA:
ch_msg = (unsigned char)(0xFF & dwParam1);
data1 = (unsigned char)(0xFF & (dwParam1 >> 8));
data2 = (unsigned char)(0xFF & (dwParam1 >> 16));
data3 = (unsigned char)(0xFF & (dwParam1 >> 24));
/*on_message(ch_msg, data1, data2, data3);*/
tempName = data1;
tempValue = data2;
/*on_change_value(tempName, tempValue);*/
break;
default:
break;
}
}
现在我需要在第二类needhere.cpp
的midi_in_proc
tempVariables
中存储的值。
我尝试在类中使用它们needhere.cpp
如下所示:
if (NK2_FADER_0 <= tempName && tempName <= NK2_FADER_7) {
fader1 = tempValue;
}
//Knobs
else if (NK2_ROTARY_KNOB_0 <= tempName && tempName <= NK2_ROTARY_KNOB_7) {
knob1 = tempValue;
}
Visual Studio 不显示任何错误。但是当我尝试编译时,我得到这 6 个错误:
Severity Code Description Project File Line Suppression State
Error LNK1120 3 unresolved externals MayaNK2Node C:Users 1
Error LNK2001 unresolved external symbol "public: static class NanoKontrol2 MayaNK2Node::nanoKONTROL2" (?nanoKONTROL2@MayaNK2Node@@2VNanoKontrol2@@A 1
Error LNK2001 unresolved external symbol "unsigned char tempName" (?tempName@@3EA)
Error LNK2001 unresolved external symbol "unsigned char tempName" (?tempName@@3EA)
Error LNK2001 unresolved external symbol "unsigned char tempValue" (?tempValue@@3EA)
Error LNK2001 unresolved external symbol "unsigned char tempValue" (?tempValue@@3EA)
你必须在某处定义tempName。extern unsigned char tempName;
只是说"tempName 存在于我的程序中的某个地方",你也必须让它存在。
加
unsigned char tempName;
进行测试.cpp
相关文章:
- 如何使用多次 memcpy 转换回 std::vector<unsigned char>?
- 错误:从'void*'到'const uint8_t* {aka const unsigned char*}'的转换无效 [-允许]
- C++ - 从 "int" 到 "unsigned char" 的缩小转换无效
- 让 'std::vector<unsigned char>' 从 'std::string' 中窃取内存
- 使用外部变量会导致"unsigned char"错误LNK2001
- CPPrestsdk (Casablanca) JSON 值到 std::vector<unsigned char>
- memcpy unsigned char to int
- 有没有办法将 vector<unsigned char> 插入 postgresql 表中,具有 bytea 属性,没有 UTF8 编码错误?
- 将数据从 vector<unsigned char> 传输到无符号 char[]
- 如何修复此 OpenCV 错误:断言失败((无符号)i < (无符号)cn) 在 cv::Vec<unsigned char,3>:::运算符 (), 文件
- 你什么时候会使用"signed char"而不是"unsigned char"?
- 错误:初始化时无法将'const unsigned char (*)[7]'转换为'const unsigned char (*)[]'
- 如何将std :: string传递到C 中的const unsigned char **
- 类型 "unsigned char *" 的参数与类型 "const char *" 的参数不兼容
- C 如何在功能调用中从char *转换为unsigned char *
- 从'byte* {aka unsigned char*}'到'dword {aka长unsigned int}'失去精度
- 'unsigned short var'与'unsigned char var [2]' C++
- C++ cast char * to unsigned char
- CORBA IDL to C++ - char vs. unsigned char?
- Arduino:未定义的对"I2CRW::readByte(unsigned char, unsigned char)"的引用