1>Marchingcube.cpp.obj : error LNK2001: 无法解析的外部符号 "public: static float (* AMarchingcube::mydata)[251][201]" (?mydata@AMarchingcube@@2PAY1PL@MJ@MA)
时间: 2023-11-28 11:49:24 浏览: 40
这个错误是因为链接器无法找到静态成员变量 `AMarchingcube::mydata` 的定义。你需要在某个地方定义它,例如在 AMarchingcube.cpp 中添加如下代码:
```
float (*AMarchingcube::mydata)[251][201] = nullptr;
```
这将定义一个名为 `mydata` 的指向 float[251][201] 类型的指针,并将其初始化为 nullptr。如果你已经在 .h 文件中声明了静态成员变量 `AMarchingcube::mydata`,则可以在 .cpp 文件中省略类型声明部分。
相关问题
1>源.obj : error LNK2001: 无法解析的外部符号 glad_glViewport
这个错误通常是由于缺少Glad库导致的。请确保你已经正确地链接了Glad库,并且在代码中包含了正确的头文件。
如果你已经正确链接了Glad库并且包含了正确的头文件,但是仍然遇到这个错误,请确保你的编译器支持OpenGL 3.3及以上版本。如果不支持,请尝试更新你的显卡驱动程序或更换支持OpenGL 3.3的显卡。
1>LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library 1>源.obj : error LNK2019: 无法解析的外部符号 gladLoadGLLoader,函数 main 中引用了该符号 1>源.obj : error LNK2001: 无法解析的外部符号 glad_glClear 1>源.obj : error LNK2001: 无法解析的外部符号 glad_glClearColor 1>源.obj : error LNK2001: 无法解析的外部符号 glad_glViewport
这个错误提示是在链接时出现的。第一个警告提示“MSVCRT”与其他库的使用冲突,可以使用 `/NODEFAULTLIB` 选项来禁用默认库。第二个错误提示是由于链接器无法找到 `gladLoadGLLoader` 函数的实现,可能是因为缺少库文件或链接器无法找到库文件的路径。同时,还有三个无法解析的外部符号错误,这表明链接器无法找到相应的函数实现。
你需要检查以下几个方面:
1. 确认你是否已经正确地设置了库文件的路径和名称。你需要在链接器选项中添加库文件路径和名称。
2. 检查库文件是否存在。如果库文件不存在或者路径不正确,链接器将无法找到它们。
3. 确认你是否正确地包含了头文件。如果头文件中没有声明函数,链接器将无法找到函数的实现。
4. 确认你是否正确地编译了源文件,并且没有出现任何错误或警告。
如果你仍然无法解决问题,可以尝试使用 Visual Studio 提供的工具来查找和解决链接错误。你可以使用“查找符号”工具来查找缺失的符号,或者使用“依赖项查看器”来查看链接器的依赖关系。