- 1 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 12:16:11 ]
- Visual C++入門者・初心者からの質問を、
お兄ちゃんお姉ちゃん達が優しく、時には厳しく回答してくれるスレッドです。 ■質問するにあたって ・エラーや警告のときはエラーメッセージを書きましょう。 ・開発環境も書きましょう、特にWindowsForm、MFC、Win32アプリケーションの区別。 ・できるだけ具体的に。 質問の仕方については次のページが大変参考になります。 www.hyuki.com/writing/techask.html ■回答するにあたって ・回答する場合はその答えに至るための「コツ」も書いてあげると良いでしょう。 (MSDNのどの項目だとか、何のキーワードでGoogleするとか) ・ネタや煽りは軽く流しましょう。 過去スレ、関連スレなどは>>2-5辺り。
- 557 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 03:32:56 ]
- つまり「全部のソースに、プリコンパイル ヘッダーを include しないといけない」というわけだ。
- 558 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 10:01:52 ]
- >>556さん
>>557さん ありがとうございます。 やはりそうなのですか。 ところで、何で全部のソースに書かないといけないのでしょうか? 自分のイメージでは、プリコンパイルヘッダーって、 ヘッダーファイルをまとめたヘッダーファイルみたいな物と思っています。 別にプリコンパイルヘッダーに登録されているヘッダーファイルが 必要じゃない場合とかも、そのソースに include しないとエラーが出るっていうのが、 いまいち納得できませんでした。 何か自分は考え違いをしているのでしょうか?
- 559 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 10:38:47 ]
- >>558
プリコンパイルヘッダーを使用する/しないは、全体の設定のほかに 個別のソースごとに設定できる。 必要なけりゃそれで除外すればいい。
- 560 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 10:55:22 ]
- >>558
プリコンパイルヘッダはコンパイル前にあらかじめヘッダーをコンパイルして結果を保存し、再利用してコンパイルを高速化するためのもの。 だからプリコンパイルヘッダを使用すると指定したモジュールのヘッダー読み込みの順序が同じでなければならない。そのために各ファイルの先頭でstdafx.hを読み込むようにしている。
- 561 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 20:20:54 ]
- イベントのハンドルが引数になってる場合はどうやって渡せばいいんですか?
- 562 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:23:14 ]
- warning C4731: 'Mul' : インライン アセンブラ コードにより変更されたフレーム ポインタ レジスタ 'ebp' です。
この警告をなくす方法を教えてください。もしくは気にしなくても良いのでしょうか? MSに msdn.microsoft.com/ja-jp/library/ywz8xf2a.aspx 悪い例のサンプルがあるんですけど 対応方法が載ってません。
- 563 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 21:59:54 ]
- ようするにebp/espを書き換えなければ済む話。
警告無視で書き換えるなら、__asmを入るときの値を出るまでに復元しろということ。
- 564 名前:デフォルトの名無しさん [2009/01/03(土) 23:47:30 ]
- 警告0の正しい?コードを書こうかなと思ってコード書き直してるのですが、
ReadProcessMemory(ProcessHandle, reinterpret_cast<LPVOID>(ModuleAddress+data.offset.x), &x, 4, NULL); こう書くとwarning C4312: 'reinterpret_cast' : 'DWORD' からより大きいサイズの 'LPVOID' へ変換します。 とでるのですが、正しい使い方はどうなるんでしょうか? ModuleAddressとdata.offset.xはどちらもDWORDです。
- 565 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 00:12:20 ]
- それは、Win64だとvoid*も64ビットだから気を付けろという警告。
キャスト元をDWORDからULONG_PTRなんかにすればいい。 DWORDはWin64でも32ビットのままだが、ULONG_PTRはポインタと同じく64ビットになるという整数型。
- 566 名前:デフォルトの名無しさん [2009/01/04(日) 01:17:12 ]
- Windows XP SP3 Visual Studio 2003 の話です
ソースAがメインのソースとして ソースBとCが他にあるとします. ある構造体の宣言をソースCでし,ソースAとBでその構造体を使いたいものとします. そのときコンパイルすると 構造体の再定義というエラー error LNK2005: "その構造体は 既に ****.obj で定義されています。 とでます. どのように宣言すればよいでしょうか?
- 567 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 01:27:40 ]
- グローバル変数の実体は一つだけにして、他ソースからはexternで参照する。
- 568 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 01:29:39 ]
- コンパイルエラーが出るなんて糞質問はコード公開必須だボケが
- 569 名前:566 mailto:sage [2009/01/04(日) 01:31:04 ]
- すみません別ファイルへのリンクに
#include "ソースC.cpp" とかいう変なことしてました.
- 570 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 10:03:30 ]
- >>564
プロジェクトのオプションに64bit互換のチェックの有無があるからoffにする。
- 571 名前:562 mailto:sage [2009/01/04(日) 11:48:44 ]
- >>563
ありがとう。 pushとpopをしておけば良いのですね。
- 572 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 12:50:31 ]
- Visual C++本体の扱い方を解説しているサイトはありますか?
コーディングはできるんですが、ソフトの機能を把握しておきたいのです ちなみに2008です
- 573 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 14:13:05 ]
- >>572
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.ja/dv_vstoc/html/06ddebea-2c83-4a45-bb48-6264c797ed93.htm
- 574 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 22:13:13 ]
- exeのディレクトリにあるファイルは読み込めるのに
exeのディレクトリのフォルダのファイルは読み込もうとするとエラーが出ます。 何故ですか? ifstream fin; OK↓ fin.open("test.txt",ios_base::binary); NG↓ fin.open("data/test.txt",ios_base::binary);
- 575 名前:574 mailto:sage [2009/01/04(日) 22:21:20 ]
- どうやらファイルを見つけていないようです。
- 576 名前:574 mailto:sage [2009/01/04(日) 22:40:00 ]
- 単なるスペルミスでした。
- 577 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:18:38 ]
- 動的に作成した画像ファイルを読み込むとエラーになるんですが
なんとかなりませんか?
- 578 名前:デフォルトの名無しさん mailto:sage [2009/01/05(月) 22:23:39 ]
- エラーの内容から原因を推測して修正してください
- 579 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:29:38 ]
- short int からintへ,int からshort intへの代入で,
特に型変換を記述しないで実行したんだけど,エラーも出ずに普通に動いた. これ放置してて問題ない?それともちゃんと型変換した方がいい?
- 580 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:31:05 ]
- コンパイラの警告レベルを高くしたらコンパイル時に文句言うんじゃね、と無責任に答える
- 581 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:31:58 ]
- その場合でもshort→intのように無条件に大きくなる方はそのままでも平気。
- 582 名前:デフォルトの名無しさん [2009/01/06(火) 01:42:53 ]
- 「const unsigned char *」 型とはどういう扱い方をするものですか?
_ismbslead、_ismbstrail関数を使って、文字列の中の2バイト文字を判別したいのですが・・・ int _ismbslead( const unsigned char *str, const unsigned char *current ); この引数の渡し方の意味がわからないです。 CString型、もしくはこいつをコピーしたchar型の配列の各バイトをチェックするロジックを作りたいのですが、 第一、第二引数どちらについても、char*型で渡そうとすると「const unsigned char*に変換できません」というコンパイルエラーが。 この関数はどうやって使うモノなのか教えてください
- 583 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:43:13 ]
- ありがとう,とりあえずはshort int から int へはそのまま放置しときます.
- 584 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 10:21:57 ]
- >>582
キャスト
- 585 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 10:52:44 ]
- constというのは呼び出す関数の内部で値を書き換えないようにするものなので
この場合無視していい char * を unsigned char *にキャストする
- 586 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 17:44:30 ]
- FileStreamとBinaryReaderを使って、Byte型の配列を、読み込んだファイルのデータ長に合わせて宣言したいです。
//入力ストリーム作成 FileStream^ fs = gcnew FileStream(fnp, FileMode::Open); //バイナリリーダー作成 BinaryReader^ br = gcnew BinaryReader(fs); //データ読み込み int len = (int)fs->Length; //データ長 System::Byte data[len]; こうやると、C2057とC2466、C2133が出て、ファイルを読み込んでからByteの宣言は出来てないみたいなんですが、 どうすればファイルを読み込んだ後にByteの配列を宣言出来ますか?
- 587 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:08:36 ]
- >>586
array<System::Byte>^ data = gcnew array<System::Byte>(len); もっとも、File::ReadAllBytesを使えば1発で済むぞ。
- 588 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:30:25 ]
- >>586
ありがとうございます。もうひと頑張りしてきます。
- 589 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 19:30:55 ]
- >>588
>>587に安価ミスした・・・orz
- 590 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 10:13:31 ]
- VC++でHashTab Shell Extensionみたいにプロパティをいじるようなソフトを作りたいんですが、何をすればいいかまったくわかりません。。
どなたかヘルプミーお願いします。
- 591 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 10:48:34 ]
- HashTab Shell Extensionは知らんけど、まさにShell Extensionで調べるのがいいんじゃ?
絞るならCOMもつけるといいかも
- 592 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 12:30:36 ]
- >>591
サンクス! とりあえずとっかかりができました。これからいろいろ調べてみようと思います。
- 593 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:34:46 ]
- Stringに\nで改行とかって含めることできますか?
それかString以外の別の型使わなきゃだめですか? テキストボックスに改行付きで変数で一括で突っ込みたいんですが・・・
- 594 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 18:55:30 ]
- >>593
Stringということは.NETか? \r\n
- 595 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 19:47:07 ]
- .NETならEnvironment.NewLine、普通のC++ならエディットボックスはWindowsの\r\nで。
- 596 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 20:42:21 ]
- >>594,595
できました、ありがとうございます。
- 597 名前:デフォルトの名無しさん mailto:sage [2009/01/07(水) 23:59:31 ]
- CImageで読み込んだ画像ファイルに直接直線を描画したいのですが、
何か方法はありませんでしょうか? Visual Studio2008でプログラミングをしています。
- 598 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 00:39:42 ]
- LineTo( hDC, nEndX, nEndY);
- 599 名前:597 mailto:sage [2009/01/08(木) 01:12:20 ]
- 画面上ではなく、Cimageの読み込んだ画像のピクセルを直接書き換えるように
直線を書き込みたいのですが、何か方法はないですか??
- 600 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 06:41:30 ]
- LineTo
- 601 名前:デフォルトの名無しさん mailto:sage [2009/01/08(木) 08:08:14 ]
- >>597>>599
CImageにはGetDC/ReleaseDCメンバ関数がある。
- 602 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 19:10:49 ]
- 2008の表示>ツールボックスの文字色はデフォが黒なんだけど見づらいので
どこをいじれば変えられますか?
- 603 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 22:33:29 ]
- 初心者です教えてください
- 604 名前:デフォルトの名無しさん mailto:sage [2009/01/09(金) 23:24:16 ]
- このソフトは初心者には扱えません。
- 605 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 09:13:26 ]
- Editにキーボードで入力するとEN_UPDATEが発生するんですけど
SetWindowTextで文字列を挿入するとEN_UPDATEイベントが発生しません。 どうすれば良いでしょうか?
- 606 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 09:23:58 ]
- オバマじゃだめなのか?
- 607 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:28:57 ]
- #include <iostream>
#include <string> using namespace std; void main(){ wcout<<L"test"; wcout<<L"うんこ"; getchar(); } なぜかL"うんこ"が表示されません。 っていうか日本語が表示されないのですが なんとかしてください。
- 608 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:31:09 ]
- ロケール
- 609 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 16:48:54 ]
- うぁありがとぉぉおおう
- 610 名前:デフォルトの名無しさん mailto:sage [2009/01/12(月) 11:36:16 ]
- 一度壊れたインテリセンス情報って復活できる?
ncbファイル消して開きなおしても、入力支援できない・・・
- 611 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 10:46:21 ]
- プログラムではなくて、機能の質問なんですが、
#endifと最後に打った瞬間、上記文(#endifから上)の文字が全て灰色に変わりました。 (#ifdefなら青くなる筈だが、灰色に…) 色付に戻したいです。どうすれば良いのでしょうか? よろしくお願いします。
- 612 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 11:10:49 ]
- そりゃコンパイル条件から外れたからだろう
- 613 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 11:48:59 ]
- アウトラインとかは関係ないのでしょうか?
- 614 名前:611 mailto:sage [2009/01/13(火) 13:51:34 ]
- 自己解決しました。
一番最初のプリプロセッサ命令のスペルミスしてた。 数時間格闘した結末はやはり呆気ないものだな…。
- 615 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 14:37:20 ]
- コンパイル条件から外れた、で意味わからなかったのかよ・・・
- 616 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:07:46 ]
- すんません。実行時にフォームのタイトルバーに文字を指定する方法を教えてください。。。
- 617 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:12:55 ]
- あ、すんません。visual c++ 2008です・・
- 618 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:23:06 ]
- あ、すんません。普通にText = "aaa";でいけました。ほんとすんません
- 619 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:27:11 ]
- ゆとり死ね
市ねじゃなくて死ね
- 620 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:39:18 ]
- CoInitializeで未解決のトークンとリンクエラーになるのですが何かlibを追加しなくてはダメですか?
- 621 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 15:57:13 ]
- ole32.lib だと思うが、普通はわざわざ指定しないけどな?
- 622 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 18:29:48 ]
- >>621
普通は指定しないですよね? でもなぜかしれを追加したらリンク通りました・・・ ありがとうございます。
- 623 名前:611 mailto:sage [2009/01/13(火) 19:22:32 ]
- >>615
フフ、プログラミングでわからない事なんて、しょっちゅうよ…
- 624 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 01:15:15 ]
- ・Visual C++2008 express
・開発環境・・WindowsVista Debugモード、Releaseモード共にコンパイルは通ります。 Debugモードでデバッグ無しで実行は問題なく動作し、正常に終了します。 Releaseモードでデバッグ無しで実行した際には、途中でOSからのエラー、 ----.exeは動作を終了しました。 問題が発生したため、プログラムが正しく動作しなくなりました。 というメッセージが出、途中で終了します。また、エラーが出るタイミングも まちまちです。 これはどういう問題かと思われますか?タイミング問題でしょうか?
- 625 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 01:24:30 ]
- 変数の初期化し忘れとかそういう方向で
- 626 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 08:00:10 ]
- Windows XP、Visual C++ 2003 でダイアログアプリを作っています。
アプリを一つだけ起動した状態は問題ないんですが、二つ以上起動すると タスクバーのボタンがグループ化されたときに「(2) TODO: <ファイルの説明>」というような 表記になってしまいます。 このような文言らしきものがリソースの VS_VERSION_INFO にあったので 適当に編集してみたのですが、表記は変わりませんでした。 どうしたらタスクバーの表記が正しいものになるでしょうか?
- 627 名前:624 mailto:sage [2009/01/15(木) 09:05:56 ]
- >>625
やはり、考えられるのはそれぐらいになりますよね・・・ ありがとうございました
- 628 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 10:37:15 ]
- >>626
以下のレジストリから該当アプリを削除して再度実行する。 HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache
- 629 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 10:56:59 ]
- 基本クラスをCFormViewで作成したときに
これのウィンドウハンドルはm_hWndでしょうか?
- 630 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 17:56:35 ]
- GetSafeHwnd()使え。
- 631 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 18:57:02 ]
- メイクしたユーザの名前を実行ファイルに
文字列として埋め込むことって可能ですか?
- 632 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:04:25 ]
- 可能
- 633 名前:626 mailto:sage [2009/01/15(木) 19:10:04 ]
- >>628
おおお 初回起動時の値をずっと保持しているのですね。 消して再実行したらきちんと編集した値に更新されました。 どうもありがとうございました。
- 634 名前:631 mailto:sage [2009/01/15(木) 19:20:38 ]
- >>632
どうすればできますか?
- 635 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:21:23 ]
- >>634
#define hoge "うんこタロウ"
- 636 名前:631 mailto:sage [2009/01/15(木) 19:29:40 ]
- >>635
それだと"うんこタロウ"以外がメイクした時にも "うんこタロウ"と埋め込まれると思うのですが・・・
- 637 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:37:51 ]
- メイクする人が変われば名前変更しなさいよ
VCは自動でメイクした人の名前を認識できませんよ
- 638 名前:631 mailto:sage [2009/01/15(木) 19:43:49 ]
- >>637
やはり手動でしかできませんか・・・ ありがとうございます。
- 639 名前:631 mailto:sage [2009/01/15(木) 19:53:11 ]
- 今思いついたのですが、
static const char NAME[NAME_LEN] ("HOGEHOGE"); と、ソースに埋め込んで、ビルド後のイベントで 実行ファイルをバイナリレベルで走査し、 指定文字列を発見したらGetUserName()を埋め込む というのは危険すぎるでしょうか?
- 640 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 19:57:52 ]
- ビルド後のイベントって他環境でも強制できるの?
- 641 名前:631 mailto:sage [2009/01/15(木) 20:05:23 ]
- >>640
恐らく*.projあたりに埋め込まれているのだと思うので、 VCを使用している限り埋め込む実行ファイルと プロジェクトを一対で持ちまわれば 可能になるのではないかな、と。 ただ、プログラムのコード中に(想定しているバッファ以外に) 走査対象文字列が出てきたらと考えると危険な香りが・・・
- 642 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 20:42:25 ]
- >>641
コンパイルオプションに環境変数 USERNAME を埋め込むのはどうか? /D "HOGEHOGE_USERNAME=\"$(USERNAME)\"" コードでその文字列を確保 CString sUserName = _T(HOGEHOGE_USERNAME);
- 643 名前:デフォルトの名無しさん mailto:sage [2009/01/15(木) 20:52:30 ]
- C言語の勉強として、GetWindowRect関数を利用してウィンドウシェードを作っているのですが、
OnGetMinMaxInfoで最小サイズを指定していると思われるウィンドウではどうしてもタイトルバー だけにすることができません。 どうすればそのようなウィンドウでもタイトルバーだけにすることができるでしょうか。 Microsoft Visual C++ 2008 Express Edition DLLファイル(TTBaseのプラグイン)
- 644 名前:631 mailto:sage [2009/01/15(木) 20:53:40 ]
- >>642
できました。ありがとうございます。
- 645 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 22:47:03 ]
- 新規作成で出てくるウィザードにあるプロジェクトの種類 CLR Win32 全般 ってどういう使い分けなんですか?
ロベールのC+;教室ってサイトでは Win32 コンソール アプリケーションを使ってやるみたいなんですけどどれがどう違うのか教えてください。 それと新規作成でファイルを選んだ場合に作成されるのがプロジェクトで作ったのと何が違うのかも・・・ VC++2008EEを使ってます
- 646 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 07:38:09 ]
- >>645
CLRは.NET frameworkを使ったプログラムでC#やVisualBasicで作るのと同じ中間言語にコンパイルされる C++で使う利点は無いので最初からC#で書いたほうが楽 実行時にランタイムが必要だったり不便な点がある Win32は普通のプログラムなのでこれで作れ 全般はコンパイラを別のにして開発環境だけ使うとかしてクロスコンパイルが出来る(メイクファイルプロジェクト)
- 647 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 16:58:59 ]
- すごく初歩的な質問かもしれませんが、1つのプロジェクトにa.cppとb.cppがある場合どのような順番でコンパイルされていくんですか?
- 648 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 17:26:00 ]
- プロジェクトファイルに書いてある順番
- 649 名前:デフォルトの名無しさん mailto:sage [2009/01/17(土) 18:53:52 ]
- 順番なんかどうでもいい
- 650 名前:デフォルトの名無しさん mailto:sage [2009/01/18(日) 01:58:13 ]
- /MP使えばほぼ同時だな。
- 651 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 11:10:24 ]
- MFCでファイルオープンダイアログを出す方法を教えてください
- 652 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 11:30:17 ]
- CFileDialog dlg(TRUE);
if (dlg.DoModal() == IDOK) { MessageBox(dlg.GetFileName()); }
- 653 名前:デフォルトの名無しさん mailto:sage [2009/01/19(月) 13:31:54 ]
- >>652
できましたありがとう
- 654 名前:デフォルトの名無しさん [2009/01/19(月) 23:39:08 ]
- CM_Get_DevNode_Registry_Propertyのかわりに
SetupDiGetDeviceRegistryPropertyほうを使うのが良いらしいんですが、 どういう理由なんでしょうか?
- 655 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 11:40:37 ]
- MSDNにそう書いてあるから、じゃだめ?
- 656 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 23:21:50 ]
- 今使っているのはVisual Studio 2005です。
人に出来上がったexeファイルを配布するときに このアプリケーションの構成が正しくないため、 アプリケーションを開始できません でした。 というエラーを起こさないようにプロジェクトのランタイムライブラリの設定を マルチスレッドDLLからマルチスレッドに変えました。 そうしたら以下のような警告が出て、他にも外部シンボルが未解決ですというエラーが大量に出ました。 warning LNK4098: defaultlib 'LIBCMT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 人に配布するときに一番上のエラーが出なく、かつリンクが通るようにするにはどのようにすればいいのですか?
- 657 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 23:42:25 ]
- >>656
DebugビルドとReleaseビルドが混じってるとか リビルドしてみるか、言われたとおり /NODEFAULTLIB:LIBCMT.lib を試してみる
|

|