web-dev-qa-db-ja.com

リンク:致命的なエラーLNK1561:エントリポイントを定義する必要がありますVC ++でエラー

GLFWライブラリを使用してOpenGLのプログラミングを開始するために、MS VS VC++を初めてインストールしました。私は http://shawndeprey.blogspot.com/2012/02/setting-up-glfw-in-visual-studio-2010.html でそれをインストールする方法についての指示に従いますEclipseで動作する簡単なプログラム、テストするだけ:

#include <stdlib.h>
#include <GL/glfw.h>

using namespace std;

int main()
{
    int running = GL_TRUE;
    if (!glfwInit()) {
        exit(EXIT_FAILURE);
    }

    if (!glfwOpenWindow(300, 300, 0, 0, 0, 0, 0, 0, GLFW_WINDOW)) {
        glfwTerminate();
        exit(EXIT_FAILURE);
    }

    while (running) {
        // glClear( GL_COLOR_BUFFER_BIT );
        glfwSwapBuffers();
        running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED);
    }

    glfwTerminate();
    exit(EXIT_SUCCESS);
    return 0;
}

しかし、その後、私はこのひどいエラーを得ました:

------ Build started: Project: first1, Configuration: Debug Win32 ------
   LINK : fatal error LNK1561: entry point must be defined
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

私が知っている、私はインターネットで見て回ったと私が見つけた唯一の解決策は「それが動作するためにmain()機能が必要です」でした。私は明らかにそれをすぐそこに持っていますが、それでも同じ致命的なエラーがスローされます:(

それを修正する方法についての応答を得るのは素晴らしいことです。インストールプロセスに何か欠陥があるかもしれません。

32
SortOf

これはコンソールプログラムプロジェクトですか、それともWindowsプロジェクトですか? Win32および同様のプロジェクトの場合、エントリポイントはWinMain()であるため、私は尋ねています。

  1. 左側のプロジェクト(ソリューションではなく)を右クリックします。
  2. 次に、[プロパティ]-> [構成プロパティ]-> [リンカー]-> [システム]をクリックします。

Subsystem Windowsと表示されている場合、エントリポイントはWinMain()である必要があります。

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
   your code here ...
}

その上、コメントについて言えば。これは、実行時エラーではなく、コンパイル(より正確にはリンク)エラーです。デバッグを開始するとき、コンパイラーは(モジュールをコンパイルするためだけでなく)完全なプログラムを作成する必要があり、その時点でエラーが発生します。

ロードされて実行されるポイントにも到達しません。

24
collaborator

プログラムのエントリポイント(この場合はmain())を見つけることができません。リンカーの設定が間違っている可能性があります。

この投稿はこちら をご覧ください

8
ash

私の場合、プログラムは正常に実行されていましたが、ある日、何もせずにこの問題にぶつかりました。

解決したソリューション(編集する前は、エリアは空でした):

enter image description here

コンソール(/ SUBSYSTEM:CONSOLE)に変更すると動作します

6
Matas Lesinskas

プロジェクトを.exeとして定義しているが、.libまたは.dllを作成することを意図している場合、このエラーが発生する可能性があります。

5

ファイルの行末を変更した後、VSでこれが発生しました。それらをWindows CR LFに戻すと、問題が修正されました。

1
sdff

Mainはエントリポイント構成にありませんでした。 enter image description here

0
lizard

Visual Studioの場合:プロパティ->アドバンス->エントリポイント->は、大括弧とコマンドライン引数なしで、大文字と小文字を区別して、プログラムの実行を開始する関数の名前のみを記述します。

0
Brackets