コンパイルされたが解決されたサンプルファイルをGLFW。MSVCRT紛争で観察LIBCMTアイデア

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/fqbqrr/article/details/98775403

:このGLFWサンプルファイル、リンクエラーの常に多くをコンパイルするとき

#include <GLFW/glfw3.h>
#pragma comment(lib,"glfw3.lib")

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

長い時間を探して、そして後で追加user32.libgdi32.libおよび以下のエラーやリンクの様々なトス、他のすべてが失敗した...
次のエラーの多く:

glfw3.lib(wgl_context.obj) : error LNK2019: 无法解析的外部符号 __imp__SwapBuffers@4,该符号在函数 _swapBuffersWGL 中被引用
MSVCRT.lib(chandler4gs.obj) : error LNK2019: 无法解析的外部符号 __except_handler4_common,该符号在函数 __except_handler4 中被引用
示例.exe : fatal error LNK1120: 102 个无法解析的外部命令

付け足し可能是动态链接与静态链接不匹配的问题、限りリンクが間違っているとするので、この才能は考えなければならない即链接方式不匹配
これは、主に直接コンパイルする他の誰かのプロジェクトを配置する。両方がコンパイラによって使用されますが、コンパイラが同じではありません。または私はcmakeのによって生成される可能性があります。ファイルをコンパイルすると、動的、静的コンパイラにコンパイル選択することができない場合..可能性がミスをしたcmake真剣に...間違ったポイントをコンパイルする方法を見ていなかった
し、その後のバッチをたくさん修正しvcxprojたファイルを。
その2つの置換に注意してください。

MultiThreadedDebugDLL,MultiThreaded
MultiThreadedDLL,MultiThreaded

そして、内部の対追加の接続オプションを追加するには、CL追加の接続を、その後GLFW成功をコンパイルする前にコンパイルするには、上記のファイル.vsのコンパイルが成功を再コンパイルします。しかし、コマンドラインがコンパイルされていません。成功しました。

おすすめ

転載: blog.csdn.net/fqbqrr/article/details/98775403