Windows上的c++程序(g++).Main()未启动

c++ program on windows (g++). main() does not start

本文关键字:Main 启动 上的 g++ 程序 Windows c++      更新时间:2023-10-16

我有一个由main()函数和一个类声明组成的c++项目。我正在使用mingg++来编译我的代码。

问题是,即使编译和链接很好,当启动程序时,进程冻结并且什么也不显示。

基本上就是main.cpp文件:

int main() {
    printf("....n");
    system("PAUSE");
    //Class instance;
    return 1;
}
....
class Class {...}
....

我注释了类实例化以隔离问题。

在main函数之后是class class声明

要明确的是,当从控制台运行它时,它会冻结并且不显示printf字符串。

如果它可以是有用的,我也链接sfml库,这是在类的方法中使用。

我该如何解决这个问题?谢谢。

尝试将类声明置于主函数之上。

c++要求在使用任何东西之前必须声明或定义它。我所知道的唯一例外是经典的:

int main void()
{
    //some code that does stuff;
    return 0;
}

,在使用前不能在代码中声明

由于这显然不是编译/链接问题,因此它与声明的排序无关。可能有很多原因。如果没有看到Class的定义,我们就不知道它是否包含在CRT初始化期间调用构造函数逻辑的静态用户定义类型成员。也可以是你的图书馆。如果加载了动态库(*nix下的共享对象,或Windows下的dll),进程加载器可能无法找到和/或加载它们,或解析依赖项。SFML是动态的吗?解决这个问题的最佳方法是在调试器中。为自己准备一个IDE,并尝试在调试器中运行程序的调试版本。