LOGO

sponsor.jpg

   ホーム      
 | 
  
   イベント      
 | 
  
   コラム      
 | 
  
   連載      
 | 
  
   フォーラム      
 | 
  
   VSUG      
 | 
  
   スタッフ日記      
 | 
  
   VSUG キャスト   
会員サービス
メンバー ログイン
新規会員登録はこちら
MENU
ホーム
イベント
VSUG アカデミー
VSUG Day
その他のイベント
コラム
連載
基本
LINQ
リッチクライアント
ASP.NET
フォーラム
初心者フォーラム
Visual Studio
.NET 開発
プラットフォーム運用
フリートーク・お知らせ
フォーラムの利用案内
VSUG
VSUGとは
フォーラムリーダー紹介
ガジェット
スタッフ日記
VSUG キャスト
第 1 回 近藤 和彦 氏
第 2 回 長沢 智治 氏
フォーラムグループ
初心者フォーラム
初心者なんでも相談室
Visual Studio
Visual Studio 2005
Visual Studio 旧環境
.NET 開発
Visual Basic
Visual C#
Visual C++/CLI その他
Web アプリケーション
リッチクライアント・UI コントロール
データベース・データアクセス
モバイル・スマートクライアント
.NET Framework
開発プロセス
マイグレーション・COM 相互運用
Office 開発・VSTO
Web ホスティングアプリケーション
ライティング・セキュアコード
プラットフォーム運用
運用管理
フリートーク・お知らせ
談話室
VSUGからのお知らせ
フォーラムの利用案内
インフォメーション
会員規約
会員登録
プライバシーポリシー
リンクポリシー
著作権について
スポンサーについて
お問い合わせ
オンライン状態
オンライン状況 オンライン状態:
未登録ユーザー 未登録ユーザー: 132
登録ユーザー 登録ユーザー: 0
計 計: 132

オンライン中のユーザー オンライン中のユーザー:

 
  VSUG フォーラム  Visual Studio  Visual Studio 2...  OpenGLプログラムの作成
前へ 前へ
 
次へ 次へ
新しい投稿 2007/02/09 18:16
ユーザーはオフラインです。 oldjoe
2件の投稿
ランキングデータがありません


OpenGLプログラムの作成 
言語:VC++ / Ver:2005 / プラットフォーム:Windows XP
お世話になります. OpenGLの初期化を以下のようなコードで行おうとしているのですが,Win32アプリケーション(昔のスタイル)ではうまくビルドできるのですが,"Windowsフォーム アプリケーション"テンプレートで作成するとコンパイルは通るのですが,リンクが出来ません. 何か良い方法がありましたら,ご教授をお願いいたします. テンプレートで発生されるメイン関数がtWinMainではなく, 単なるmain関数なのが駄目な原因なのでしょうか? ==== 初期化コード =============== void CSetup::initOpenGL() { //ピクセルフォーマットの初期設定 PIXELFORMATDESCRIPTOR pfd = //ピクセルフォーマットの属性を定義 { sizeof(PIXELFORMATDESCRIPTOR), //構造体のサイズ 1, //構造体のバージョン番号 PFD_DRAW_TO_WINDOW //特性フラグ | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, //animation機能を使用 PFD_TYPE_RGBA, //カラーモード 24, //カラービット数(各色256モード) 0,0,0,0,0,0, //無関係 0,0,0,0,0,0,0, //アルファバッファとアキュムレーションバッファはなし 32, //32ビットデプスバッファ 0,0, //ステンシルバッファと補助バッファは使わない PFD_MAIN_PLANE, //主レイヤタイプ 0, //予約されている 0,0,0 //サポートされていない }; //上で決めたフォーマットに最も近いこのデバイスのフォーマットを得る int pixelFormat = ChoosePixelFormat(hDC, &pfd); if(pixelFormat == 0) { MessageBox::Show("失敗","OpenGL:致命的エラー1"); } //ピクセルフォーマットのセット BOOL success = SetPixelFormat(hDC, pixelFormat, &pfd);//これを実行すると画面が消える if(success == false) { MessageBox::Show( "失敗","OpenGL:致命的エラー2"); } //レンダリングコンテキストのハンドルを得る hRC = wglCreateContext(hDC); //hRCをカレントとし、DCと結合する wglMakeCurrent(hDC, hRC); //背景色(すべて0.にすると黒) glClearColor(0.9f,0.9f,0.9f,1.0f); //カラーバッファとデプスバッファをクリア glClear(GL_COLOR_BUFFER_BIT); //カラーバッファをクリア glClear(GL_DEPTH_BUFFER_BIT); //デプスバッファをクリア } ===== エラーメッセージ =============== glTest02.obj : error LNK2028: 未解決のトークン (0A00001D) "extern "C" int __stdcall SetPixelFormat(struct HDC__ *,int,struct tagPIXELFORMATDESCRIPTOR const *)" (?SetPixelFormat@@$$J212YGHPAUHDC__@@HPBUtagPIXELFORMATDESCRIPTOR@@@Z) が関数 "public: void __clrcall CSetup::initOpenGL(void)" (?initOpenGL@CSetup@@$$FQAMXXZ) で参照されました。 1>glTest02.obj : error LNK2028: 未解決のトークン (0A00001F) "extern "C" int __stdcall ChoosePixelFormat(struct HDC__ *,struct tagPIXELFORMATDESCRIPTOR const *)" (?ChoosePixelFormat@@$$J18YGHPAUHDC__@@PBUtagPIXELFORMATDESCRIPTOR@@@Z) が関数 "public: void __clrcall CSetup::initOpenGL(void)" (?initOpenGL@CSetup@@$$FQAMXXZ) で参照されました。 1>glTest02.obj : error LNK2019: 未解決の外部シンボル "extern "C" int __stdcall SetPixelFormat(struct HDC__ *,int,struct tagPIXELFORMATDESCRIPTOR const *)" (?SetPixelFormat@@$$J212YGHPAUHDC__@@HPBUtagPIXELFORMATDESCRIPTOR@@@Z) が関数 "public: void __clrcall CSetup::initOpenGL(void)" (?initOpenGL@CSetup@@$$FQAMXXZ) で参照されました。 1>glTest02.obj : error LNK2019: 未解決の外部シンボル "extern "C" int __stdcall ChoosePixelFormat(struct HDC__ *,struct tagPIXELFORMATDESCRIPTOR const *)" (?ChoosePixelFormat@@$$J18YGHPAUHDC__@@PBUtagPIXELFORMATDESCRIPTOR@@@Z) が関数 "public: void __clrcall CSetup::initOpenGL(void)" (?initOpenGL@CSetup@@$$FQAMXXZ) で参照されました。 1>C:\local\MyApps\OpenGL\glTest02\Debug\glTest02.exe : fatal error LNK1120: 外部参照 4 が未解決です。
 
新しい投稿 2007/02/09 19:16
ユーザーはオフラインです。 とっちゃん
118件の投稿
blogs.wankuma.com/tocchann/
10位


RE: OpenGLプログラムの作成 
#SetPixelFormat って gdi32.lib だっけ?

ヘルプによると gdi32.lib をリンクする必要があると書かれています。
まずはそれがライブラリのリンクリストにあるかを確認してください。

プロジェクトの作成形式によっては、gdi32.libはデフォルトでリンクされるにはなっていませんので。

とっちゃん(高萩 俊行)@わんくま同盟
とっちゃん'Blog
Microsoft MVP for Development Tools - Visual C++(Oct 2005 -)
WindowsInstaller の話題は WindowsInstaller/WiX/InstallShield メーリングリスト まで
 
新しい投稿 2007/02/23 8:31
ユーザーはオフラインです。 oldjoe
2件の投稿
ランキングデータがありません


RE: OpenGLプログラムの作成 

おはようございます.
貴重なヒントを頂きありがとうございました.おっしゃるように

#pragma comment( lib, "GDI32.lib" )
#pragma comment( lib, "USER32.lib" )

をメインのソースコードの頭に記述して,コンパイル・リンクしたら
うまくビルド出来ました.
本当にありがとうございました.

Oldjoe

 
新しい投稿 2007/02/23 17:45
ユーザーはオフラインです。 とっちゃん
118件の投稿
blogs.wankuma.com/tocchann/
10位


RE: OpenGLプログラムの作成 
あ、gdi32.lib でいいんですね。

昔は違ってたと思ったけど、それは遠い昔のことなのかも...w

とっちゃん(高萩 俊行)@わんくま同盟
とっちゃん'Blog
Microsoft MVP for Development Tools - Visual C++(Oct 2005 -)
WindowsInstaller の話題は WindowsInstaller/WiX/InstallShield メーリングリスト まで
 
 1/1ページ
前へ 前へ
 
次へ 次へ
  VSUG フォーラム  Visual Studio  Visual Studio 2...  OpenGLプログラムの作成
ログイン | © 2005-2008 Visual Studio User Group. All rights reserved. 著作権について | プライバシーポリシー | リンクポリシー | お問合せ