0

私はいくつかの行のコードを書く前に、予期しないリンカーの問題がないことを確認するために、非常に簡単なコードをコンパイルしようとしています。 「LNK1107無効または破損したファイル:0x2E8で読み取ることはできませんが、」私が構築しようとすると、Visual Studio Express 2015でLNK1107 opengl32.dll

#include <iostream> 
#include <GLFW/glfw3.h> 

int main() 
{ 
    if (!glfwInit()) 
    { 
     std::cout << "Glfw initialization failed\n"; 
    } 

    return 0; 
} 

は、しかし、私は次のエラーを取得します。私のプロジェクトはx64なので、間違ったdllを32ビットアーキテクチャにリンクしていて、メモ帳でそのPEヘッダをチェックしたと仮定しました。しかし、それは "PE d" dはそれがx64であることを示し、Lはそれがx86であることを示します。私は別の質問から拾いました。

私がリンクしようとしている複数のopengl32.dllの異なるディレクトリに:C:\Windows\SysWOW64\opengl32.dllC:\Windows\System32\opengl32.dll、および

ありません成功C:\Windows\WinSxS\amd64_microsoft-windows-opengl_31bf3856ad364e35_10.0.14393.0_none_3c39618da01a51a8\opengl32.dll。私は私の特定のケースで何か答えを見つけることができていない、どんな助けも大いに感謝されるだろう。

+2

'.lib'ファイルにリンクしてください。' .dll'ファイルにはリンクしないでください。 –

+0

@AlgirdasPreidžius 'opengl32.lib'またはそれと同等のファイルはどこにありますか? –

+0

私は分かりません。私はopenglを使ったことはありません。 –

答えて

0

Windowsでは、.dllではなくexport .libライブラリをリンクする必要があります。 OpenGLの.libは、ビデオドライバのパッケージの一部であるopengl32.dllから独立して作成されたAPIライブラリですが、.dllがコンパイルされると通常は生成されるlibsをエクスポートします。 GLFWの.libも必要です。

+0

オペレーティングシステムのどこにこのlibがあるのか​​わかりません。私はどこに必要なものを見つけることができるか知っていますか? –

+0

@Edward Snow SDKのSDKです。 OpenGL32.Lib。どのような環境変数が設定されているか。 – Swift

関連する問題