[過去ログ] SDLスレ (987レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
436(2): 名前は開発中のものです。 [sage] 04/07/07 16:05 ID:Cr3igRfZ(1) AAS
>>435435(1): 名前は開発中のものです。 [sage] 04/07/07 01:34 ID:n/Oy7Dm9(3/3) AAS
>>434
う〜ん、確かに。
けど、LGPLのをスタティックリンクするってことは、
アプリ側の.oを配布する必要があるのかな。
それと、libc,libm,libstdc++とかスタティックリンクするとデカそうってのも微妙な感じだ。
スタティックリンクしたらアプリ側のソースコードを公開する必要がある.
Linuxでのバイナリ配布は
1) 各ディストリビューション毎にバイナリを作る
2) メジャーなディストリビューションだけ作ってあとはユーザにコンパイルさせる
3) 全部スタティックリンクしたのを一つだけ配布
のどれかじゃないかなぁ… あ…
4) バイナリと libSDL.so や libSDL_mixer.so を一緒に配布
(LD_LIBRARY_PATH を設定して起動するシェルスクリプトを同封)
ってのもありえるか…
437(1): 名前は開発中のものです。 [sage] 04/07/07 20:12 ID:qEMx/JGK(1) AAS
>>436
LGPLのはスタティックリンクしても公開しなくていいのでは。
438: 431 [sage] 04/07/07 22:19 ID:TRH5OiZw(1) AAS
色々返答ありがとう。考えた結果、
・自分が普段使ってるディストリビューション用の実行ファイルと、
まともなSDL_mixerのrpmを用意する。
・それとは別に、アプリの.o(または、まとめて.aにするかも)とMakefileを用意する。
ぐらいにしておこうかと思います。
しかし、各ディストリビューション間のバイナリ互換性の低さは頭のイタイ問題ですな。
439(1): 名前は開発中のものです。 [sage] 04/07/08 00:01 ID:nQ5A0rf+(1) AAS
>>437
LGPL部分は差し替えれるようにしなきゃだめじゃなかった?
440(1): 名前は開発中のものです。 [sage] 04/07/08 00:55 ID:0z9S7ZSR(1) AAS
>>439
> LGPL部分は差し替えれるようにしなきゃだめじゃなかった?
その通り。だからアプリの.oを配布で正しいと思うんだけど。
アプリの.o + 差し替えたLGPLのライブラリ
で再構築可能だろ?
441(1): 436 [sage] 04/07/08 11:56 ID:HbCYsiEE(1) AAS
LGPL部分を差し替え可能にする必要があるというのは当然として…
ちょっと聞きたいんだけど…
オブジェクトファイルだけあったら差し替え可能として認められるのかな?
この時オブジェクトファイルのフォーマットとかは問題にならんのかしら?
あ… 配布したスタティックリンクされた実行可能ファイルの元に
なった.oさえあればOKってことかな?
442: 名前は開発中のものです。 [sage] 04/07/08 14:48 ID:1+ItRMvE(1) AAS
>>441
オブジェクトファイルのフォーマットは、gcc の吐くような極一般的なものなら全然問題無いと思うよ。
>>440 の言う通り、君が作ったソフトウェアのオブジェクトファイルさえ入ってれば大丈夫だから、それで合ってるね。
443(1): 名前は開発中のものです。 [sage] 04/07/10 20:51 ID:21jpHlag(1) AA×

444: 名前は開発中のものです。 [sage] 04/07/10 22:02 ID:JmED2rrl(1) AAS
ax,ayがオーバーフローすんちゃうの?
445(1): 名前は開発中のものです。 [sage] 04/07/10 22:45 ID:MW3XWIRh(1/3) AAS
>>443
dx, dy を初期化してないのはC的にいいとして、mouse を初期化してねーじゃねーか。
ググったらこことか引っかかったから見てみれ。
外部リンク[html]:www.pl-berichte.de
446: 445 [sage] 04/07/10 22:47 ID:MW3XWIRh(2/3) AAS
「3. Input-Handling in der Praxis: Maus」
ってとこね。ってよく見たらドイツ語だ。すまん。でもソースは分かるよね。
447(1): 名前は開発中のものです。 [sage] 04/07/10 22:53 ID:DRUUao5j(1) AAS
終了する前にはSDL_Quitしてほしいと思います。
448(1): 名前は開発中のものです。 [sage] 04/07/10 23:10 ID:MW3XWIRh(3/3) AAS
あと SDL_Delay() が一回も呼ばれない気がするのは気のせいか?
449: 名無しさん@そうだ選挙に行こう [sage] 04/07/11 07:05 ID:VqfcMOHH(1) AAS
>>455455(3): 名前は開発中のものです。 [sage] 04/07/12 01:05 ID:1R+yHQE6(1) AAS
>>453
> Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface
Kanji_PutText( ... , screen(), ... );
じゃないかい?
ありがとうございます。
>>447
>>448
作りかけのソースを削ったのでおかしくなってしまいました。
450: 名無しさん@そうだ選挙に行こう [] 04/07/11 09:59 ID:E7W22GHh(1) AAS
>>455がどんな解決方法を示してくれるのか。気になって夜も眠れない。
451: N速に書き込めません。 [N速に書き込めません。] 04/07/11 10:18 ID:wvsVVX1k(1) AAS
N速に書き込めません。
何とかしてください
452(1): 名無しさん@そうだ選挙に行こう [sage] 04/07/11 12:11 ID:/yFc1fy2(1) AAS
>>452
そんなときはあれだよ。 あれ。
453(6): 名前は開発中のものです。 [sage] 04/07/12 00:37 ID:A2nXW2No(1/4) AA×

454: 453 [sage] 04/07/12 00:39 ID:A2nXW2No(2/4) AAS
s/しゅか/しょうか/; # ○| ̄|_
456(1): 453 [sage] 04/07/12 01:29 ID:A2nXW2No(3/4) AAS
>>455
screen()とやると、"関数には評価されません" と言われてしまいます、、
それと453に間違いがもう一つ
> Kanji_PutText( ... , screen, ... ); // screen は CSDLSurface
screenは CSDLSurface* です
457(1): 名前は開発中のものです。 [sage] 04/07/12 09:21 ID:d4JCqMcp(1) AAS
>>456
> screenは CSDLSurface* です
じゃ、
Kanji_PutText( ... , (*screen)(), ... );
Kanji_PutText( ... , screen->operator(), ... );
のどっちかじゃない?
458: 453 [sage 長くなってごめんなさい。] 04/07/12 23:23 ID:A2nXW2No(4/4) AAS
>>457
どうもお手数かけてしまってすみませんでした。
Kanji_PutText(..., screen->operator SDL_Surface*(), ...);
でコンパイルは通ったんですが、よく考えてみるとどうやらscreenがポインタ
であることが原因だったようで、
CSDLSurface screen; // ポインタにするのをやめた
...
Kanji_PutText(..., screen, ...);
みたいに、普通にクラスを渡せばちゃんと SDL_Surface* に変換してくれるんですね。
これってC++の基本ですか? 恥ずかしいかも。
でもなんか、クラスをポインタでなく保持するのはよろしくない、みたいな文章をどこかで
読んだ気がして、それが引っかかってなんか気が進まないです、、
459: 名前は開発中のものです。 [sage] 04/07/13 00:35 ID:yFmAkR9z(1) AAS
gcc version 3.2 (mingw special 20020817-1)で実験してみた。
大体予想通りの結果?長文スマソ。
#include <iostream>
using namespace std;
class Foo {};
class Bar {
Foo foo;
public:
operator Foo*() {return &(this->foo);}
};
void hoge(Foo* p_foo_)
{
cout << p_foo_ << endl;
}
int main(int argc,char* argv[])
{
Bar bar;
Bar* p_bar = &bar;
hoge(bar);
// hoge(bar()); // no match for call to `(Bar) ()'
// hoge(p_bar); // cannot convert `Bar*' to `Foo*' for argument `1' to `void hoge(Foo*)'
hoge(*p_bar);
// hoge((*p_bar)()); // no match for call to `(Bar) ()'
// hoge(p_bar->operator()); // `class Bar' has no member named `operator()'
return 0;
}
460: 名前は開発中のものです。 [sage] 04/07/13 03:32 ID:P6ImUkzN(1) AAS
foo* operator() と operator foo*() は違う
上下前次1-新書関写板覧索設栞歴
あと 527 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s