在你问之前,是的我确实看了这个日子。我完全陷入困境......我使用MINGW32(我的快捷方式是MSYS)来编译我的c和cpp代码。大约2或3天,我一直遇到奇怪的错误。 (下面)以前工作很精细。我甚至运行了之前编译的相同代码,它也给出了同样的错误。然后我进入DevC ++然后打开然后编译它就可以了。
错误:
命名空间:未找到命令
使用:未找到命令
语法错误: int main(){
(有时它给我一个难以理解的混乱)
我真的卡住了...我不想转到DevC ++ ...我喜欢使用自己的文本编辑器并在命令行中编译。
答案 0 :(得分:-1)
从您的错误var backgroundLayer: SKTileMapNode!
override func didMove(to view: SKView) {
guard let backgroundLayer = childNode(withName: "background") as? SKTileMapNode else {
fatalError("Background node not loaded")
}
self.backgroundLayer = backgroundLayer
for row in 0..<self.backgroundLayer.numberOfRows {
for column in 0..<self.backgroundLayer.numberOfColumns {
let backgroundTile = self.backgroundLayer.tileDefinition(atColumn: column, row: row)
let isPoison = backgroundTile?.userData?.value(forKey: "isPoisonKey")
if let countNode = isPoison as? Bool {
// Code here
if countNode {
print(countNode)
}
}
}
}
}
和namespace: command not found
对我说,您没有使用适当的编译器编译代码。
在MinGW32工具链中供参考:
using: command not found
您可能会发现查看IDE对编译器的实际操作非常有用。 我当前的IDE允许我查看它运行的所有命令来构建我的项目:
gcc.exe = C
g++.exe = C++
让我们来看看它的作用。
我当前的工具链是MinGW32,它位于C:/mingw32/bin/g++.exe -c "C:/MyProgram/main.cpp" -g -O0 -std=c++14 -Wall -o ./Obj/main.cpp.o -I. -IDependencies/Something/include
g ++是我们的c ++编译器,因此我们调用g ++。exe并传递以下开关:
C:/mingw32/bin/g++.exe
这告诉我的编译器从我的项目目录中编译main.cpp。然后我的IDE添加了一些额外的命令行开关。出于答案的目的,我只考虑-c "C:/MyProgramm/main.cpp"
。这告诉我们代码main.cpp中的输出文件到输出文件中。
我们生成这样一个文件的原因是为了节省我们编译时间,这样我们就不需要编译同一个文件两次而不需要对其进行更改。我们在每个文件上执行此步骤,创建-o
个文件的集合。
然后将新文件保存在.o
这意味着您的命令行功能将如下所示:
"C:/MyProgramm/Obj/main.cpp.o"
我建议您阅读g ++函数的文档,并从不同的IDE中学习,因为您很快就会发现需要使用编译器进行更高级的操作。
例如,为了启用c ++ 14中的功能,我添加了C:/mingw32/bin/g++.exe -c "<my project directory>/<file>.cpp" -o ./Obj/<file>.cpp.o
*编辑以反映反馈。