1>C:\Users\ADMIN\Documents\Unreal Projects\ThelastMarchingCube\Binaries\Win64\UE4Editor-ThelastMarchingCube-Win64-DebugGame.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
时间: 2023-07-12 09:02:27 浏览: 178
这个问题看起来是一个链接器错误,通常是由于多次定义同一个符号所致。这可能是由于多个源文件中都定义了同一个全局变量或函数而引起的。您可以尝试使用命令行工具进行编译,并检查编译输出中的详细错误信息,以确定哪些文件导致了此错误。如果您是使用Visual Studio进行编译,您可以在“输出”窗口中查看详细错误信息。您还可以尝试使用预编译头(PCH)来减少编译时间和错误。
相关问题
1>Marchingcube.cpp.obj : error LNK2001: 无法解析的外部符号 "public: static float (* AMarchingcube::mydata)[251][201]" (?mydata@AMarchingcube@@2PAY1PL@MJ@MA) 1>C:\Users\ADMIN\Documents\Unreal Projects\MCinUE4\Binaries\Win64\UE4Editor-MCinUE4-Win64-DebugGame.dll : fatal error LNK1120: 1 个无法解析的外部命令
这个错误提示是由于在链接阶段找不到 `AMarchingcube::mydata` 这个静态变量的定义。可能的原因是:
1. 在代码中声明了 `AMarchingcube::mydata`,但没有在任何地方定义它。你需要在某个文件中定义这个静态变量。比如,在一个 `.cpp` 文件中添加如下代码:
```cpp
float (*AMarchingcube::mydata)[251][201] = nullptr;
```
这里的 `nullptr` 是为了避免未初始化的静态变量使用时出现问题。
2. 在链接阶段没有将包含 `AMarchingcube::mydata` 定义的 `.cpp` 文件加入编译。你需要检查一下工程中是否存在包含 `AMarchingcube::mydata` 定义的 `.cpp` 文件,如果有,就需要将它们加入编译,以便在链接时能够找到这个静态变量的定义。
如果以上两种情况都不是问题所在,你可以尝试重新编译整个工程,并确保所有文件都被正确地编译和链接。
1>C:/Users/ADMIN/Documents/Unreal Projects/ThelastMarchingCube/Source/ThelastMarchingCube/Public/MarchingCube.h(22): error : Unrecognized type 'size_t' - type must be a UCLASS, USTRUCT or UENUM
这个错误是因为在您的代码中使用了不支持的数据类型,即“size_t”。在UE4中使用的数据类型必须是UCLASS,USTRUCT或UENUM之一。要解决此错误,您可以尝试将“size_t”替换为UE4支持的数据类型,例如“int32”或“uint32”,或者将其包装在USTRUCT中。如果这不起作用,请检查您的代码中是否存在其他不支持的数据类型。
阅读全文
相关推荐

















