私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 4
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
Windows上で動作するフリーの開発環境 CygwinとMinGWに関する相談スレッドです。
過去スレ:
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwinhttp://www.cygwin.com/
MinGWhttp://www.mingw.org/
関連スレッド:
GCCについて part8
http://pc11.2ch.net/test/read.cgi/tech/1192201659/
【激遅】AppleGCC【絶望】
http://pc11.2ch.net/test/read.cgi/tech/1173267844/
過去スレ:
cygwin + mingwn + gcc 相談室 Part3
http://pc11.2ch.net/test/read.cgi/tech/1177944767/
cygwin + mingwn + gcc 相談室 Part2
http://pc11.2ch.net/test/read.cgi/tech/1126103347/
cygwin + mingwn + gcc 相談室
http://pc8.2ch.net/test/read.cgi/tech/1058134693/
関連サイト:
Cygwinhttp://www.cygwin.com/
MinGWhttp://www.mingw.org/
関連スレッド:
GCCについて part8
http://pc11.2ch.net/test/read.cgi/tech/1192201659/
【激遅】AppleGCC【絶望】
http://pc11.2ch.net/test/read.cgi/tech/1173267844/
↓のGCC使ったやり方でFireFOXビルドできない><
http://developer.mozilla.org/en/Compiling_Mozilla_With_Mingw
http://developer.mozilla.org/en/Compiling_Mozilla_With_Mingw
>>6
この文書は 2007 年 3 月の MozillaBuild システム導入前の Mozilla 1.9 コードベースをビルドするためのビルド要件のガイドです。Firefox 1.5.0.10 以上、Firefox 2.0.0.2 以上、Firefox 3 をビルドする場合は標準的な Windows ビルド要件 を見てください
この文書は 2007 年 3 月の MozillaBuild システム導入前の Mozilla 1.9 コードベースをビルドするためのビルド要件のガイドです。Firefox 1.5.0.10 以上、Firefox 2.0.0.2 以上、Firefox 3 をビルドする場合は標準的な Windows ビルド要件 を見てください
ソースからコンパイルしたlinuxホストのクロスgcc 3.4.6で
-Wformatつけて%016I64xという書式指定をすると、
「unknown conversion type character `I' in format」
とか言われるけど、Windows用のmingwバイナリでも同じ?
LinuxでWindowsホストのx64_64-elfのgdbを作ろうとしてこれでこけた。
-Wformatつけて%016I64xという書式指定をすると、
「unknown conversion type character `I' in format」
とか言われるけど、Windows用のmingwバイナリでも同じ?
LinuxでWindowsホストのx64_64-elfのgdbを作ろうとしてこれでこけた。
mingw版gccで
#include<iostream>
int main(){
cout<<"こんにちは";
}
とするとちゃんと日本語表示される?
されないなら、対処法は?
#include<iostream>
int main(){
cout<<"こんにちは";
}
とするとちゃんと日本語表示される?
されないなら、対処法は?
Automated MinGW Installer 役に立たない・・・
ダウンロードがまったくできんし。
ダウンロードがまったくできんし。
>>15
ソースコードをシフトJISで書いたなら --input-charset=cp932 を指定する
cp932 で読み込まれて内部では utf8 になるらしい、んで
吐き出される文字リテラルはデフォルトで utf8 なんだとさ
それをシフトJISにしたいなら --exec-charset=cp932 を指定する
g++ --input-charset=cp932 --exec-charset=cp932 hogehoge.cpp -o hogehoge.exe
こんなかんじka よくしらんがてきとう
ソースコードをシフトJISで書いたなら --input-charset=cp932 を指定する
cp932 で読み込まれて内部では utf8 になるらしい、んで
吐き出される文字リテラルはデフォルトで utf8 なんだとさ
それをシフトJISにしたいなら --exec-charset=cp932 を指定する
g++ --input-charset=cp932 --exec-charset=cp932 hogehoge.cpp -o hogehoge.exe
こんなかんじka よくしらんがてきとう
rubyをC++に組み込もうとしているのですがうまく行きません。板違いかなとも
思うのですが、MinGWでコンパイルエラーが出ていて、この部分さえクリアできれば
いけそうなので質問させてください。
エラーは、
newmain.cpp:31: error: invalid conversion from `VALUE (*)(VALUE)' to `VALUE (*)(...)'
newmain.cpp:31: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
newmain.cpp:32: error: invalid conversion from `VALUE (*)(VALUE, VALUE)' to `VALUE (*)(...)'
newmain.cpp:32: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
というものです、でVALUEは、
typedef unsigned long VALUE;
と宣言されています。ご教示お願いします。
思うのですが、MinGWでコンパイルエラーが出ていて、この部分さえクリアできれば
いけそうなので質問させてください。
エラーは、
newmain.cpp:31: error: invalid conversion from `VALUE (*)(VALUE)' to `VALUE (*)(...)'
newmain.cpp:31: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
newmain.cpp:32: error: invalid conversion from `VALUE (*)(VALUE, VALUE)' to `VALUE (*)(...)'
newmain.cpp:32: error: initializing argument 3 of `void rb_define_method(VALUE, const char*, VALUE (*)(...), int)'
というものです、でVALUEは、
typedef unsigned long VALUE;
と宣言されています。ご教示お願いします。
>>24
こんな感じです。ruby付属のドキュメントの例のまんまなんですが、コンパイルが
通らないんです。
#include <ruby/ruby.h>
static VALUE t_init(VALUE self)
{
VALUE arr;
arr = rb_ary_new();
rb_iv_set(self, "@arr", arr);
return self;
}
static VALUE t_add(VALUE self, VALUE anObject)
{
VALUE arr;
arr = rb_iv_get(self, "@arr");
rb_ary_push(arr, anObject);
return arr;
}
VALUE cTest;
void Init_Test() {
cTest = rb_define_class("Test", rb_cObject);
rb_define_method(cTest, "initialize", t_init, 0); ←エラーが出てる箇所
rb_define_method(cTest, "add", t_add, 1); ←エラーが出てる箇所
}
で、関数の宣言は
void rb_define_method(VALUE,const char*,VALUE(*)(ANYARGS),int);
となっています。引数のANYARGSの宣言は以下です
#define ANYARGS ...
こんな感じです。ruby付属のドキュメントの例のまんまなんですが、コンパイルが
通らないんです。
#include <ruby/ruby.h>
static VALUE t_init(VALUE self)
{
VALUE arr;
arr = rb_ary_new();
rb_iv_set(self, "@arr", arr);
return self;
}
static VALUE t_add(VALUE self, VALUE anObject)
{
VALUE arr;
arr = rb_iv_get(self, "@arr");
rb_ary_push(arr, anObject);
return arr;
}
VALUE cTest;
void Init_Test() {
cTest = rb_define_class("Test", rb_cObject);
rb_define_method(cTest, "initialize", t_init, 0); ←エラーが出てる箇所
rb_define_method(cTest, "add", t_add, 1); ←エラーが出てる箇所
}
で、関数の宣言は
void rb_define_method(VALUE,const char*,VALUE(*)(ANYARGS),int);
となっています。引数のANYARGSの宣言は以下です
#define ANYARGS ...
第3引数が、可変長引数の関数ポインタを受け取るということだとは思うのですが、
なぜエラーになってしまうのでしょうか?
なぜエラーになってしまうのでしょうか?
>>27
rubyというよりもC++の問題かなと。でエラーが関数ポインタ周りだということで
簡単なソース作ったんですが、
#include <iostream>
#include <cstdarg>
using namespace std;
static void func(int n,int a,int b,int c) {
int v = a+b+c;
cout << v << endl;
}
int main() {
void (*p)(int,...)=func;
p(3, 1, 3, 5);
return 0;
}
とすると、
newmain.cpp:12: error: invalid conversion from `void (*)(int, int, int, int)' to `void (*)(int, ...)'
というエラーが出ます。
ちなみに、
int main() {
func(3, 1, 3, 5);
return 0;
}
だと、ちゃんと動いてくれます。
可変長引数の関数ポインタの中に、引数の数が決まった関数をぶち込むのに
なぜエラーが出てしまうのかが分かりません。
rubyというよりもC++の問題かなと。でエラーが関数ポインタ周りだということで
簡単なソース作ったんですが、
#include <iostream>
#include <cstdarg>
using namespace std;
static void func(int n,int a,int b,int c) {
int v = a+b+c;
cout << v << endl;
}
int main() {
void (*p)(int,...)=func;
p(3, 1, 3, 5);
return 0;
}
とすると、
newmain.cpp:12: error: invalid conversion from `void (*)(int, int, int, int)' to `void (*)(int, ...)'
というエラーが出ます。
ちなみに、
int main() {
func(3, 1, 3, 5);
return 0;
}
だと、ちゃんと動いてくれます。
可変長引数の関数ポインタの中に、引数の数が決まった関数をぶち込むのに
なぜエラーが出てしまうのかが分かりません。
そりゃそうだ。
誤った引数を与えられるようになるから、そんな変換は認められない。
reinterpret_cast使え。
誤った引数を与えられるようになるから、そんな変換は認められない。
reinterpret_cast使え。
「可変長rリスト型」の引数の関数ポインタと、「int型の引数4つ」の関数ポインタだからだろ。
ruby脳の状態でC++使うからそうなる。使う言語に応じてちゃんと脳みそと知識を切り替えろ。
ruby脳の状態でC++使うからそうなる。使う言語に応じてちゃんと脳みそと知識を切り替えろ。
>>33
そうなんだ。ありがとう
そうなんだ。ありがとう
3 [main] ? 3084 init_cheap: Couldn't reserve 3600336 bytes of space for cy
gwin's heap, Win32 error 487
C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\cc1.exe (3084): *** AllocationBase 0x0, B
aseAddress 0x61820000, RegionSize 0x360000, State 0x10000
こんなエラーが出てしまいました。
gccによるコンパイル時です。
単に gcc とやったときにはno input fileと出るのでインストールはされているようです。
gwin's heap, Win32 error 487
C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\cc1.exe (3084): *** AllocationBase 0x0, B
aseAddress 0x61820000, RegionSize 0x360000, State 0x10000
こんなエラーが出てしまいました。
gccによるコンパイル時です。
単に gcc とやったときにはno input fileと出るのでインストールはされているようです。
MinGW+MSYSなんだが、>>35みたいなエラーがでるんで
rebasedのmsys-1.0.dllやらbash3.1を導入したら
AllocationBaseうんちゃらは出なくなったが、
configureやmakeでSegmentation faultが発生しまくるようになった。
しかも発生するところは実行するたびに変わるという鬼畜っぷり
これはどうすればいいんすか?環境はXP SP3です。
rebasedのmsys-1.0.dllやらbash3.1を導入したら
AllocationBaseうんちゃらは出なくなったが、
configureやmakeでSegmentation faultが発生しまくるようになった。
しかも発生するところは実行するたびに変わるという鬼畜っぷり
これはどうすればいいんすか?環境はXP SP3です。
いろいろがんばってみたけど分からんです
海外のBBSを漁ってたら同じような現象が起きてるみたいで
それの回答は「トロイ感染してんじゃね?」だった
でもウイルス見つからなかったし、OSのどっかが壊れてるのかもしれない
海外のBBSを漁ってたら同じような現象が起きてるみたいで
それの回答は「トロイ感染してんじゃね?」だった
でもウイルス見つからなかったし、OSのどっかが壊れてるのかもしれない
このスレに質問すればいいのか分かりませんが、
CygwinにGCC4.3.2を入れようと思って、ソースからビルドしたのですが、
libstdc++のところでコケちゃって、
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:11: Error: unknown pseudo-op: `.symver'
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:12: Error: unknown pseudo-op: `.symver'
……
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:41: Error: unknown pseudo-op: `.symver'
というエラーが出ます。
おかげで、iostreamを使ったHello, worldすらリンクに失敗して困っております。
(printfを使ったHello, worldなら問題なくビルドできます)
どのような対策を講じればよいでしょうか?
ちなみに、以前にもGCC4.3.0を自力で入れたことがあって、
そのときはこのような問題は出ませんでした(表面化しなかっただけ?)
CygwinにGCC4.3.2を入れようと思って、ソースからビルドしたのですが、
libstdc++のところでコケちゃって、
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:11: Error: unknown pseudo-op: `.symver'
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:12: Error: unknown pseudo-op: `.symver'
……
/cygdrive/c/DOCUME~1/Admin/LOCALS~1/Temp/ccNICzCd.s:41: Error: unknown pseudo-op: `.symver'
というエラーが出ます。
おかげで、iostreamを使ったHello, worldすらリンクに失敗して困っております。
(printfを使ったHello, worldなら問題なくビルドできます)
どのような対策を講じればよいでしょうか?
ちなみに、以前にもGCC4.3.0を自力で入れたことがあって、
そのときはこのような問題は出ませんでした(表面化しなかっただけ?)
>>46
それ、asが出してるエラーだから、binutilsの問題かも?
それ、asが出してるエラーだから、binutilsの問題かも?
みんなの評価 : ☆
類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 3 (1001) - [97%] - 2008/9/12 0:04 ★
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について