09/02/18 20:03:24
URLリンク(support.microsoft.com)
これかなぁ・・・なんか違う?
964:デフォルトの名無しさん
09/02/18 20:25:58
ライブラリのパスの直下のlibファイルはリンクできるのですが、
サブディレクトリのlibファイルは、下記のようにはリンクできないのですか?
OK #pragma comment(lib, "mylib.lib")
NG #pragma comment(lib, "lib/mylib2.lib")
965:デフォルトの名無しさん
09/02/18 21:48:11
㍗㍗㌦
966:デフォルトの名無しさん
09/02/18 22:07:10
#pragma comment(lib, "lib\\mylib2.lib")
967:964
09/02/18 23:03:19
966
もちろんディレクトリ区切りを\\にしてもだめでした。
それにフルパスで記述したときに/で通るので、多分原因はそこではないと思います。
#pragma commentでライブラリファイルを指定するときに、サブディレクトリ内もちゃんと見るんですよね。
とりあえずそこの確認がほしいのです。
968:デフォルトの名無しさん
09/02/18 23:24:34
自分のプログラムとしてはなんかlibに関してはプロジェクトに追加してるかどうかだなぁw
ヘッダ読んでpraguma云々の記述はlibファイルなんかねーとこ指してるけど動いてるw
って状況やってみそ
ヘッダとlibファイルのプロジェクトへの追加な
969:デフォルトの名無しさん
09/02/18 23:40:56
./hoge/lib.lib
とかでもダメぽ?
970:964
09/02/19 00:17:33
ファイルの階層はこんな感じです。
C:\MyLibrary ←VC++ディレクトリ-ライブラリとインクルードの一番上で指定。
mylib.lib
lib
mylib.h (#include <lib/mylib.h>は失敗しない)
mylib.lib (上では区別のためにmylib2.libと書いたけど、コピーしたもの)
プロジェクト-リンカ-追加の依存ファイルで指定しても
1>LINK : fatal error LNK1104: ファイル 'lib/mylib.lib' を開くことができません。
と出ます。
./lib/mylib.libも同様にpragma でも依存ファイルの指定でも失敗しますorz
971:デフォルトの名無しさん
09/02/19 01:19:58
まさか、lib\\mylib.h のなかに #pragma comment(lib, "lib/mylib.lib") って書いている
わけじゃないだろーな
972:デフォルトの名無しさん
09/02/19 01:23:57
コンパイルしようとしてるソースファイルはどこなんだよ
973:デフォルトの名無しさん
09/02/19 02:03:28
// main.cpp
// マイドキュメント-VS2008-Projects/Test/Test
// = プロジェクトディレクトリ
#include <lib/mylib.h> // OK
#pragma comment(lib, "lib/mylib.lib") // NG
//#pragma comment(lib, "C:/MyLib/lib/mylib.lib") // OK
//#pragma comment(lib, "mylib.lib") // OKだけど違うファイル
int main()
{
const int ret = test_func(2);
return 0;
}
// mylib.h
#pragma once
int test_func(int val);
//mylib.cpp
#include "mylib.h"
int test_func(int val) { return val * 100; }
改行を削るとこのような感じになります。
コンパイルすると970のエラーメッセージが出ます。。。
もう遅いし、解決できそうにないのであきらめてフルパスで書くことにします。
ありがとうございました。
974:デフォルトの名無しさん
09/02/19 02:41:48
同名の違うファイルにパスが通ってるのも問題じゃないか
975:デフォルトの名無しさん
09/02/19 03:16:25
つーか、自前のlibなら、#pragma comment(lib, "ほにゃらら")は ヘッダに書けよ。
したら、cpp にゃ、ヘッダをインクルードするだけで済むだろーが。
じゃないと、他のプロジェクトで mylib.h を使いまわす時に、lib をリンクし忘れるのがオチだ。
976:デフォルトの名無しさん
09/02/19 05:36:29
>>970
あるよ。
以上。
↓次の方どうぞ
977:デフォルトの名無しさん
09/02/19 11:22:48
>>926
このコードの真ん中って、「this->」いらなくない?
978:デフォルトの名無しさん
09/02/19 11:24:50
>>977
TextBoxと紛らわしかったので、説明上念のためつけただけ。
979:デフォルトの名無しさん
09/02/19 11:28:08
>>978
いや、エラーになるでしょ
980:デフォルトの名無しさん
09/02/19 11:36:27
>>978
array<System::Windows::Forms::TextBox^>^ textBox;
↑
ひょっとして、これだけ、違うところに記述するんですか?
981:デフォルトの名無しさん
09/02/19 11:39:54
同じメソッド内に書いたらそこでしか使えないじゃない。
まあそれで済むならそれでいいけど。
982:デフォルトの名無しさん
09/02/19 11:50:06
>>981
すみません。いけました。
ありがとうございます
983:デフォルトの名無しさん
09/02/19 20:52:20