★初心者にVisual C++を教えるスレ★ Part32at TECH
★初心者にVisual C++を教えるスレ★ Part32 - 暇つぶし2ch963:デフォルトの名無しさん
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



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch