我刚刚开始学习C ++,并显示我找到的代码this method的输出。这在我第一次编译Programme.cpp的结构时起了作用:
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World!";
return 0;
}
它给了我一个.exe,我打开,跑了,得到了一个可爱的'Hello World!'出现,但当我尝试编译第二个时,Variables.cpp:
#include <iostream>
using namespace std;
int main ()
{
int a, b;
int result;
a=5;
b=2;
a=a+1;
result=a-b;
cout << result;
return 0;
}
我根本没有得到.exe,所以无法解决如何打开它。我尝试重新编译Programme.cpp的结构(删除所有相关文件后),但现在不再创建.exe了。创建的唯一文件是Programme.o和Variables.o的结构(在子目录obj \ Debug中)。
我能找到的唯一问题似乎是this,但问题似乎略有不同,我尝试删除其中一个文件(因此只有一个Programme.cpp的结构或文件夹中的Variables.cpp和我仍然有相同的结果。
此外,这两个文件都没有编译器错误,我认为我没有更改程序结构中的代码块中的任何选项以及所有不起作用的内容。
谢谢,
Dalkius
编辑:构建日志:
Compiling: Structure of a Programme.cpp
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
Compiling: Variables.cpp
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
编辑2:'完整命令行'构建日志:
Build started on: 14-12-2011 at 07:57.39
Build ended on: 14-12-2011 at 08:01.03
-------------- Clean: Debug in cplusplus.com Tutorial ---------------
Done.
mingw32-g++.exe -Wall -g -c "D:\My Documents\0HOME\Programming\C++\Code Blocks\cplusplus.com Tutorial\Structure of a Programme.cpp" -o "obj\Debug\Structure of a Programme.o"
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 0 warnings
mingw32-g++.exe -Wall -g -c "D:\My Documents\0HOME\Programming\C++\Code Blocks\cplusplus.com Tutorial\Variables.cpp" -o obj\Debug\Variables.o
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
答案 0 :(得分:5)
从查看更新的构建日志开始,似乎没有执行链接步骤来生成最终的可执行文件。有几件事你可以检查,并尝试一些想法:
cd“D:\ My Documents \ 0HOME \ Programming \ C ++ \ Code Blocks \ cplusplus.com Tutorial”
g ++。exe -Wall -g Variables.cpp -o Variables.exe
最后,这是您的日志在正确构建时应该看起来的样子:
答案 1 :(得分:2)
每次运行代码时,都会生成EXE文件。尝试查找已安装或复制C ++程序文件的程序的exe文件。
答案 2 :(得分:1)
我对代码块不太熟悉,但我会尝试通过解释编译器正在做什么来帮助。它创建的那些.o文件称为对象文件。高级编译的工作原理如下:
1)您的源代码由编译器编译。
2)编译器将解释您的代码并为您拥有的每个文件创建一个对象(或.o文件)(通常无论如何)。
3)然后,这些文件在称为“链接器”的编译过程中被“链接”在一起。
4)最后,链接器输出你的.exe文件。
当然还有更多内容(例如库文件,预编译的dll,预处理等),但出于您的目的,您可以像刚开始时一样考虑它。
我的猜测是你可能不小心用codeblocks链接器修改了某些东西,或者它正在找错链接文件的位置 - 甚至连接器都会抛出错误(尽管大多数IDE会告诉你这个)。不幸的是,我很遗憾对代码块不太熟悉。
如果代码块中有任何方法可以触发“干净”,您也应该尝试并尝试重建。这将删除(清理)上次构建时可能仍然存在的任何旧文件。
答案 3 :(得分:0)
构建程序后,在构建日志中,您可以看到“正在执行:”,您可以在其中找到程序刚刚创建的.exe文件的路径。