[VC++] リンクするライブラリファイルをソースコード内に記述する

投稿


// sample.cpp
#include <windows.h>

int main()
{
    MessageBox(0, "サンプル", "", MB_OK);
    return 0;
}

上記のファイルをcl.exeを使ってビルドするには、コマンドラインから…

cl smaple.cpp user32.lib

と、いう風に、MessageBox APIが格納されているライブラリ(user32.lib)をリンカに教えてやる必要がある。

このライブラリの指定を、ソースコード内に書くことができる。

#pragma comment(lib, "ライブラリ名")

としてやれば良い。

つまり…

// sample.cpp
#pragma comment(lib, "user32.lib")
#include <windows.h>

int main()
{
    MessageBox(0, "サンプル", "", MB_OK);
    return 0;
}

とすれば…

cl smaple.cpp

で、ビルドが完了する。

これはcl.exeをコマンドラインで使う場合だけでなく、Visual C++のIDEを使用する場合でも同じである。
VC++の設定ファイルを使っても同じことができるが、人に渡す場合はこのようにソースコード内に記述するのが無難かと思う。(プロジェクトファイルを渡すのにもExpress Editionとそうでない場合など、すんなり行かないことがあるので)





コメントを残す

メールアドレスが公開されることはありません。