- 1 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:16:11 ]
- Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5辺り。
- 965 名前:デフォルトの名無しさん [2009/02/18(水) 21:48:11 ]
- hhj
- 966 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 22:07:10 ]
- #pragma comment(lib, "lib\\mylib2.lib")
- 967 名前:964 mailto:sage [2009/02/18(水) 23:03:19 ]
- 966
もちろんディレクトリ区切りを\\にしてもだめでした。 それにフルパスで記述したときに/で通るので、多分原因はそこではないと思います。 #pragma commentでライブラリファイルを指定するときに、サブディレクトリ内もちゃんと見るんですよね。 とりあえずそこの確認がほしいのです。
- 968 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:24:34 ]
- 自分のプログラムとしてはなんかlibに関してはプロジェクトに追加してるかどうかだなぁw
ヘッダ読んでpraguma云々の記述はlibファイルなんかねーとこ指してるけど動いてるw って状況やってみそ ヘッダとlibファイルのプロジェクトへの追加な
- 969 名前:デフォルトの名無しさん mailto:sage [2009/02/18(水) 23:40:56 ]
- ./hoge/lib.lib
とかでもダメぽ?
- 970 名前:964 mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 01:19:58 ]
- まさか、lib\\mylib.h のなかに #pragma comment(lib, "lib/mylib.lib") って書いている
わけじゃないだろーな
- 972 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 01:23:57 ]
- コンパイルしようとしてるソースファイルはどこなんだよ
- 973 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 02:41:48 ]
- 同名の違うファイルにパスが通ってるのも問題じゃないか
- 975 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 03:16:25 ]
- つーか、自前のlibなら、#pragma comment(lib, "ほにゃらら")は ヘッダに書けよ。
したら、cpp にゃ、ヘッダをインクルードするだけで済むだろーが。 じゃないと、他のプロジェクトで mylib.h を使いまわす時に、lib をリンクし忘れるのがオチだ。
- 976 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 05:36:29 ]
- >>970
あるよ。 以上。 ↓次の方どうぞ
- 977 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 11:22:48 ]
- >>926
このコードの真ん中って、「this->」いらなくない?
- 978 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 11:24:50 ]
- >>977
TextBoxと紛らわしかったので、説明上念のためつけただけ。
- 979 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 11:28:08 ]
- >>978
いや、エラーになるでしょ
- 980 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 11:36:27 ]
- >>978
array<System::Windows::Forms::TextBox^>^ textBox; ↑ ひょっとして、これだけ、違うところに記述するんですか?
- 981 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 11:39:54 ]
- 同じメソッド内に書いたらそこでしか使えないじゃない。
まあそれで済むならそれでいいけど。
- 982 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 11:50:06 ]
- >>981
すみません。いけました。 ありがとうございます
- 983 名前:デフォルトの名無しさん mailto:sage [2009/02/19(木) 20:52:20 ]
-
|

|