まず、Linux には DLL がなく、異なるセマンティクスで動的にリンクできる共有オブジェクトがあります。詳細については、Levine のLinkers & Loaders book と、Program Library Howtoおよび Drepper のHow to write shared librariesをお読みください。C++ の場合、名前マングリングに注意し、 C++ dlopen mini-howtoも参照してください。
では、VS プロジェクトを に変換しようとするのではなく、自分Makefile
で良いものをコーディングする必要があると思いMakefile
ます。
GCC に渡されるように をセットアップするMakefile
ことを忘れないでください(また、デバッグ情報が必要な場合は、おそらくまたはを介して)。-Wall
-std=gnu99
-g
CFLAGS
CXXFLAGS
プログラムが数百万行のコード アプリケーションでない限り、独自のMakefile
. 私はGNU makeの使い方を学び、そのドキュメントを読むことを強くお勧めします。make -p
GNU の「組み込みの知識」を提供する出力をちらりと見るかもしれませんmake
。
また、既存のフリー ソフトウェア Linux アプリケーションの内部を調べて、そのMakefile
.
ところで、makefile のデバッグに苦労している場合は、remakeを使用してください。
「自分のアプリを Linux に変換する」という観点ではなく、「Linux アプリをコーディングする」という観点から考えてください。
Linux、Windows、および MacOS に移植可能なソフトウェアを開発するためのフレームワーク (特に Qt) がいくつか存在することに注意してください。非 GUI アプリケーションにも使用できます。
高度な Linux プログラミングや高度な UNIX プログラミングなどの資料を読むことを忘れないでください。