トップページ⇒tech
30コメント11KB

cygwin上でglut使ってる人に質問です。

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
こんちわ。
自分はWin2000のcygwin上でglut使ってOpenGLのプログラム書いてるんですが、
最近cygwinのバージョンを入れ替えました。すると、以前はたしか別に
glutを落としてきてライブラリファイルを作らないといけなかったのが、
新しいバージョンではcygwinを入れたら直でコンパイルができて楽チンに
なってました。
しかし-mno-cygwinオプションを付けた場合にはコンパイルが通りません。
以前はglutを自分でゴタゴタと入れたはずみでコンパイルできてたんですが・・・。
なんかいい方法ないでしょうか。

○使ってるcygwinのバージョン
・cygwin 1.1.6-1
・opengl 1.1.0-3
C:\cygwinにインストールしてます。

○プログラムのヘッダー
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

○エラーメッセージ
> gcc main.c -Wall -lglut32 -lglu32 -lopengl32 -mno-cygwin

In file included from main.c:46:
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.2-5/../../../../
include/GL/gl.h:44: warning: `APIENTRY' redefined
/usr/include/w32api/windef.h:85: warning: this is the
location of the previous definition
/cygdrive/e/ccQVtbjd.o(.text+0x7e4):main.c: undefined
reference to `glBindTexture'
・・・以下同様のエラー
collect2: ld returned 1 exit status
make: *** [a.exe] Error 1
0002ところでNGNG
-mno-cygwin
オプションって何ですか?
0003デフォルトの名無しさんNGNG
cygwinいレットopenglできんの?
教えて。
00042ですNGNG
>>1
適当なプログラムで-mno-cygwinを付けたら同じ様になって失敗したよ
manにもないみたいだけど
[WinNT/cygwin1.1.6]
00051NGNG
>>2
-mno-cygwinオプションってのはcygwinをインストールしてない
環境でも作ったアプリを動かすことができるオプションだよん。
具体的にはcygwin1.dllじゃなくてcrtdll.dllにリンクしてくれます。
#取り込んだmingw32の機能です。

>>3
バリバリできるよ。
00063NGNG
検索してみました。
ありがとう。
0007デフォルトの名無しさんNGNG
いろいろ書いてあるようだよ

ttp://www2.tech-unet.ocn.ne.jp/__dic__/perl/mno-cysgin-howto.html
00081NGNG
どうもありがとう>>7
このページの日本語、超分かりにくいです(笑
#「あいた!!」には萎えました。
英語の原文探したんだけどなくなってるみたい。
とりあえず分かる範囲で試してみるっす。
0009デフォルトの名無しさんNGNG
たしかMingwってまた別パッケージになったはずだからいっしょにインストールする必要があったと思う。
Setup.exeを動かして確かめてみよう。
00101NGNG
>>9
cygwinはフルでインストールしたのでmingwパッケージも入ってます。
バージョンは"mingw 20001111-1"でした。で、cygwinのサイトを見ると
cygwin@` gcc@` mingwの新しいバージョンが落ちてたので、
また何も考えずに入れました。(cygwin 1.1.7-1@` mingw 20001225-1)
すると>>1で出ていたエラーが

main.c:46: GL/gl.h: No such file or directory
main.c:47: GL/glut.h: No such file or directory
make: *** [a.exe] Error 1

に変わりました・・・。
で、/usr/include/mingw/ に/usr/GL/をコピーしたところ
エラーの内容は元の>>1に戻りました。こっちの実装の方がフツウな気が・・・。
mingw/GLにコピーした中身をmingw用に作り変えればいいのかな?
でもlibglut32.aはどうなるんだろう?
1mmくらい前進したような気はするけど・・・。

眠いから続きは午後っす。
00111NGNG
と思ったけど、粘ったらうまくいったっす!
よく分からんけどありがとう!

****************************
以下うちでうまく行った方法。

ttp://www.cim.pe.u-tokyo.ac.jp/~kawachi/software/cygwin_glut.html
ここでポイントされてたmingw用glutのヘッダー
ttp://www.carlthompson.net/fltk/ming32gl.zip
を/cygwin/usr/include/mingw/GLの下にコピー。

/cygwin/lib/libglut32.aを/cygwin/lib/mingw/の下にコピー。

以上だす。
0012デフォルトの名無しさんNGNG
>>8
>英語の原文探したんだけどなくなってるみたい。
なくなってる?
http://www.xraylith.wisc.edu/~khan/software/gnu-win32/mno-cygwin-howto.txt
URLから辿れるこのページ↑じゃないの?
00131NGNG
いやん。
明け方はHTTP 404だったのに。
どうもありがとう。
0014デフォルトの名無しさんNGNG
これって今までCygwinとMingwのライブラリのディレクトリが同じだったのに
突然別のディレクトリに分かれたから起こった問題という理解でいいの?
0015デフォルトの名無しさんNGNG
これのリソースコンパイラやエディタって無いですか?
001675NGNG
  rrt
00171NGNG
>>14
いや。
単に-mno-cygwinオプション付けたときに使われる
mingw用のglutライブラリが入ってなかったということだと思うんだけど。
#前に使ってたバージョンではcygwin用のも入ってなかった。

>>15
リソースコンパイラ→windres.exe(cygwin付属)
エディタ?テキストエディタのことかな。
ならviとか付いてくるけど・・・。自分はwindows版のmule使ってるけど。
00181NGNG
>>15
リソースエディタか。それはcygwinにないんだな。
001915NGNG
無いですか。残念です…。
んじゃあ、VisualC++とかで作った.resファイルをリンクする方法って無いですか?
00201NGNG
cygwinはresファイルを使わないからよく分からないっす。
hoge.resをhoge.oに変換するツールがあればwindres.exeを
使ってリンクできるっすよ。
002115NGNG
>20
そのツールの所在教えてください〜
0022デフォルトの名無しさんNGNG
manが見れないです。
$ man gcc
Error executing formatting or display command.
System command (cd /usr/man ; (echo -e ".pl 1100i"; cat /usr/man/man1/gcc.1; ech
o ".pl \n(nlu+10") | /usr/bin/tbl | /usr/bin/groff -Tascii -mandoc | less -is) e
xited with status 32512.
No manual entry for gcc
ってエラーが出てしまう。
何が足りないのかな〜
.plってperlの拡張子ですかね。
perlは大きいから入れたくないんだけど。
(既にActivePerlが入ってる)
002322NGNG
て、cygwin関係全般の質問も、このスレでいいよね?
0024デフォルトの名無しさんNGNG
UNIX板にもあったけど今沈んでるね。
00251NGNG
>>21
googleで"res o 変換"で検索すると
以下のサイト

ttp://hp.vector.co.jp/authors/VA006065/c-cpp/gccw32-4.txt

が出てきたよ。これに
> res2coff_tar.gz 15@`353 byte; .resから.oに変換するツール
なる記述があった。おいらは使ったことないからよくわかんないけど。

>>22
バージョンがよう分からんけどフルインストールでうちでは読めてるからなぁ。
shが無いとか(笑 →ashパッケージ
002615@`22NGNG
ありがとうございます。ためしてみます>1
>shが無いとか(笑 →ashパッケージ
ashもいれる必要があったのですか…
bashがあるからいいやと思ってましたが
002715@`22NGNG
ありがとうございました。
man は ashを入れたら解決しました。
res2coffも入手できました。
昔入れた時と比べると、デキが予想以上に良くなってますね。
(特にインストーラーとか)>cygwin
0028デフォルトの名無しさんNGNG
>>15
リソースコンパイラはwindres.exeってやつが標準で入ってるはずです。
リソースエディタはさすがに無いですね。探せばあるかも・・・。
もしくは手書き。
0029デフォルトの名無しさんNGNG
いや、VisualC++とかで作った.rcファイルは文法とかが違うからwinresでコンパイルできないんですよ〜。>28
0030デフォルトの名無しさんNGNG
あ,いや。
afxなんちゃらとかをincludeしてる所とかをゴシゴシ剥せば
使えると思ったんですが・・・。
それでアプリ作った記憶があるんで。
(簡単なダイアログアプリでしたが)
■ このスレッドは過去ログ倉庫に格納されています