ページ 11

コンパイルオプション

Posted: 2010年4月06日(火) 10:36
by そら
VC++ 2008のCUIでコンパイルしています。
通常<stdio.h>などのヘッダーは追加オプションはいらないと思うのですが、
<windows.h>や<unistd.h>などは追加オプションが必要だと思います。

今までは特別なヘッダーを付けていなかったので
[cl ファイル名]
とすればコンパイルできたのですが、
色々な関数を使っているうちにヘッダーも変わってきて
追加オプションを使わなければならないことがわかりました。
[cl ファイル名 追加オプション]
ヘッダーによってオプションが変わると思うのですが
オプションを書いてあるサイトなどはありませんか?

Re:コンパイルオプション

Posted: 2010年4月06日(火) 11:06
by たかぎ

Re:コンパイルオプション

Posted: 2010年4月06日(火) 12:27
by そら
>たかぎさん
すみません。
そういうオプションではなくヘッダーのオプションです・・・

たとえばヘッダーが
#include <stdio.h>
のときは
[cl ファイル名]
でコンパイルできると思うのですが、
#include <unistd.h>
を置くと
[cl ファイル名 オプション]
となりますよね?

そのオプションが知りたいのです。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 13:20
by たかぎ
VC++には<unistd.h>はありませんから、自作したのでしょうか?
それであれば、自分でどこにファイルを格納したのかわかるはずですから、それを /I オプションで指定するだけです。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 13:27
by たいちう
類似の質問
http://oshiete1.goo.ne.jp/qa2934911.html

とりあえず「VCでは使えない」と思っておいたらよいかと。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 13:29
by そら
http://social.msdn.microsoft.com/Forums ... 2bfc33857b
こちらのページを見ました。
crypt()を使用したいのです。

あとはよくサンプルとかでダウンロードしてくると
#include <windows.h>
など見かけます。
これもたぶんオプションが必要なんですよね?

そういうヘッダーごとのオプションというのが
よくわからないのでどこか参考にするページを探していました。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 15:27
by たかぎ
> そういうヘッダーごとのオプションというのが
> よくわからないのでどこか参考にするページを探していました。

ヘッダファイルの検索ディレクトリは、/I オプションで指定します。
どこを検索すべきかはユーザーの環境に依存しますので、自分で判断しなければなりません。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 15:39
by YuO
Visual Studio 2008 コマンドプロンプトのショートカットからCMD.EXEを起動すれば,<windows.h>は/Iオプション不要です。
新バージョンのSDKをインストールしていて,そちらを使いたい場合などは別ですが。
# リンカオプションの方ではないかとエスパーしてみたり。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 15:48
by そら
cryptを使うにはどうすればいいのでしょうか?

簡単に言うと
http://raccy.xrea.jp/ruby/trip.html
これを作ろうと思ってるのですが・・・

Re:コンパイルオプション

Posted: 2010年4月06日(火) 16:32
by softya
VisualStudioを諦めて、Linuxやcygwinで開発するなら利用できます。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 16:47
by たかぎ
> cryptを使うにはどうすればいいのでしょうか?

無いものを使うには、常識的に考えて次の2つの方法しかありません。

1. 自分で作る。
2. 誰かが作ったものを探し、何らかの方法で流用する。

crypt程度であれば、おすすめは1.です。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 16:48
by そら
Linuxは趣味程度で使用していますが
Linuxで作成したソフトはWindowsで使用できるのですか?

Re:コンパイルオプション

Posted: 2010年4月06日(火) 16:54
by softya
>Linuxで作成したソフトは Windowsで使用できるのですか?
残念ですが、できませんね。
逆はある程度出来ますが。

CygwinならWindowsで動く擬似UnixですからWindows上で動きます。
あるいは、DES暗号を自分で調べてたかぎさんの言われる通り自分でcrypt関数を作るかです。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 17:10
by そら
softyaさん
たかぎさん

ありがとうございました。
crypt関数は頑張って作成してみます。

Re:コンパイルオプション

Posted: 2010年4月06日(火) 17:13
by そら
解決ボタン押し忘れでした。