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()
機能が必要です」でした。私は明らかにそれをすぐそこに持っていますが、それでも同じ致命的なエラーがスローされます:(
それを修正する方法についての応答を得るのは素晴らしいことです。インストールプロセスに何か欠陥があるかもしれません。
これはコンソールプログラムプロジェクトですか、それともWindowsプロジェクトですか? Win32および同様のプロジェクトの場合、エントリポイントはWinMain()
であるため、私は尋ねています。
Subsystem Windows
と表示されている場合、エントリポイントはWinMain()である必要があります。
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
your code here ...
}
その上、コメントについて言えば。これは、実行時エラーではなく、コンパイル(より正確にはリンク)エラーです。デバッグを開始するとき、コンパイラーは(モジュールをコンパイルするためだけでなく)完全なプログラムを作成する必要があり、その時点でエラーが発生します。
ロードされて実行されるポイントにも到達しません。
プログラムのエントリポイント(この場合はmain()
)を見つけることができません。リンカーの設定が間違っている可能性があります。
この投稿はこちら をご覧ください
コンソール(/ SUBSYSTEM:CONSOLE)に変更すると動作します
プロジェクトを.exeとして定義しているが、.libまたは.dllを作成することを意図している場合、このエラーが発生する可能性があります。
ファイルの行末を変更した後、VSでこれが発生しました。それらをWindows CR LFに戻すと、問題が修正されました。
Visual Studioの場合:プロパティ->
アドバンス->
エントリポイント->
は、大括弧とコマンドライン引数なしで、大文字と小文字を区別して、プログラムの実行を開始する関数の名前のみを記述します。