自分用メモ

アバター
馬場自由
記事: 15
登録日時: 12年前

自分用メモ

投稿記事 by 馬場自由 » 12年前

D言語はじめました。
D言語はexe吐き出すものの、中間ファイルはVisual C++とまったく共存できないので
(同じ.objと.lib生成するのに中身全然違った)、CやC++の資産を使いまわそうとすると、
DLLを使うしかありません。(3/17追記:coffimplibがあった)このあたりでかなりハマったのでメモ。

DLLをD言語用にポーティングするツールにimplibというのがあります。
これはDLLを入力として与えると、D言語用.libを生成してくれるツールで、
glewやglfw使おうと思うと多分必須になるんじゃないかと思います。
glfwのほうはD言語用ポーティングが公式サポートされてるので問題ないですが、
問題なのはglewの方。
implibでDLLポーティングしても、Dプロジェクトをビルドしようとすると”glewInitが無い”と
コンパイル時に怒られる。
散々原因を探しまわった結果、大体のサイトでは、
implib /system hoge.lib hoge.dll
って書いてあるんでその通りにやってたんですが、これを
implib hoge.lib hoge.dll
ってやったら動きました。どうやらオプション余計だったようだ・・・
SDLやSDL_mixerではオプション指定しても問題なかったので、何でglewだけが
こんなトラップになってるのか謎ですが。
とりあえず動かすためのメモ。
最後に編集したユーザー 馬場自由 on 2013年3月17日(日) 18:04 [ 編集 1 回目 ]

コメントはまだありません。