Visual Studio 2005スレ Part17at TECH
Visual Studio 2005スレ Part17 - 暇つぶし2ch902:886
06/12/29 22:03:28
今度は各プロジェクト毎の設定です。
新規作成 - プロジェクト を選んでください。
「Win32 コンソール アプリケーション」を選んで進みます。
続きを読む>>
アプリケーションの設定でこれまで選択できなかった物が出来るようになっています。

ここでは「Windowsアプリケーション」のみにチェックを入れて進んでください。

次は
 C:\Program Files\Microsoft Platform SDK\Bin\win64\x86\AMD64
にある
 Microsoft C-C++ AMD64 Compiler Release Notes.doc
を参照し実行ファイル・インクルードファイル・ライブラリファイルのパスの設定をします。ソースファイルも設定した方が良いかもしれません。

設定方法は
 ツール - オプション ー プロジェクトおよびソリューション ー VC++ディレクトリ
を選んでください。
プラットフォームは Win32 のまま
実行可能ファイルでクロスコンパイラのパスを入力。
 例 C:\Program Files\Microsoft Platform SDK\Bin\win64\x86\AMD64
インクルードファイルで必要なパスを入力。
 例 C:\Program Files\Microsoft Platform SDK\Include
   C:\Program Files\Microsoft Platform SDK\Include\mfc
   C:\Program Files\Microsoft Platform SDK\Include\atl
   C:\Program Files\Microsoft Platform SDK\Include\crt\sys
   C:\Program Files\Microsoft Platform SDK\Include\crt
   C:\Program Files\Microsoft Platform SDK\Include\gl
ライブラリファイルで必要なパスを入力
 例 C:\Program Files\Microsoft Platform SDK\Lib\AMD64
   C:\Program Files\Microsoft Platform SDK\Lib\AMD64\atlmfc
   C:\Program Files\Microsoft Platform SDK\Lib


903:886
06/12/29 22:04:24
次は構成プロパティを設定します。
プロジェクトのプロパティを開いてください。
構成プロパティの
 C/C++ - 全般 ー デバッグ情報の形式
   プログラム データベース (/Zi) に変更
 C/C++ - プリプロセッサ - プリプロセッサの定義
   WIN64;_DEBUG;_WINDOWS もしくは
   WIN64;NODEBUG;_WINDOWS に変更
 C/C++ - コード生成 ー 簡易リビルドを行う
   いいえ に変更
 C/C++ - コード生成 ー 基本ランタイムチェック
   既定値 に変更
 C/C++ - コード生成 ー バッファセキュリティチェック
   いいえ (/GS-) に変更
 リンカ ー 最適化 ー Windows98の最適化
   オフ (/OPT:NOWIN98) に変更
 リンカ ー 詳細 ー 対象コンピューター
   設定なし に変更
 リンカ ー コマンドライン
   /MACHINE:AMD64 を入力

設定を適用します。
これで64bitアプリケーションを作成することが出来ます。


904:デフォルトの名無しさん
06/12/29 22:54:07
>>892

>>630 のリンク先を参照。
>>790 の情報によると DVD化するにはバイナリ書き換えが必要ぽい。

905:SanaDo
06/12/29 23:04:06
WinXPEのEWFのようなファイルリダイレクトドライバ開発が出来る人いませんか?

906:デフォルトの名無しさん
06/12/29 23:05:11
>>904
DVD化にはバイナリ書き換えは必要ない。
DVDのボリュームラベルを元々のDVDのラベルと同じにすればよい。
ただ、630>>のリンクの方法で作成したDVDは、
圧縮されていないので、片面1層DVDには一緒にMSDN Libraryは入れられない。

907:デフォルトの名無しさん
06/12/30 13:43:51
Expressだと使ってるうちに使いづらくなってきたから
アカデミック版買ったよ。
ヤマダのポイントのおかげで500円だった。

908:デフォルトの名無しさん
06/12/30 16:03:47
 ・Microsoft Platform SDK for Windows Server 2003 R2
 ・Microsoft Platform SDK for Windows Server 2003 SP1

上のやつだけでいいんじゃねぇの?

909:デフォルトの名無しさん
06/12/30 16:17:19
元プログラマーです。
最近、4年ぐらいやってなかったプログラムをもう一度やってみようと思って
家の中を漁ってみたら Visual Studioの6.0 が見つかったんですけど
これって今の時代にはもう役に立たないですかね?
2005は6.0と比較していい点悪い点はどんな感じでしょうか?

910:デフォルトの名無しさん
06/12/30 16:26:15
C++/CLI, C#, J#, JScript.NET, VB.NETが使える。

911:デフォルトの名無しさん
06/12/30 16:42:16
6.0って今となってはまともなC++コンパイラと呼べない奴でしょ
俺も押入れのどっかにあると思うけど結局使わなかったな

912:デフォルトの名無しさん
06/12/30 16:57:48
VS2005の話しですけど、
新規プロジェクト→CLR→フォームアプリ
でできた雛形のフォームに対して、
プロパティの雷マークみたいなところから
KeyDownイベントにKeyDownという名前の処理関数を追加します。
すると自動でフォームの生成コードのところに
this->KeyDown += gcnew System::Windows::Forms::KeyEventHandler(this, &Form1::KeyDown);
と追加されるのですが、
これをそのままビルドすると
error C2659: '+=' : 関数が演算子の左辺にあります
というエラーが出ます。
これは一体どういうことでしょうか?
ウィザードのバグとか言うことは無いですよね?
どうしたらよいでしょうか?

913:デフォルトの名無しさん
06/12/30 17:07:29
同じ名前にするもんだから、KeyDownメソッドがイベントを隠蔽してしまってる。

914:912
06/12/30 18:51:16
>>913
ありがとうございました。うまくいきました。

915:デフォルトの名無しさん
06/12/30 21:11:03
WinXPでVC++2005EEを使っています。

Windowsはデバッガ機能を標準で持っていて、
(process explorerの要求とか未処理例外のときとか)デバッガの要求が出たときに
↓のレジストリのデバッガを起動することはわかったのですが
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
私の環境だと、役にも立たないwtsn博士が登録されています

で、これをVCのIDEのデバッガあたりにしたいと考えているのですが、
そういうことは可能なんでしょか? 方法があれば教えていただきたいです

>>909
知人から聴いた話になるけどtemplateを使わないCに限れば軽くて良いとのこと
標準準拠ぐあいがアレなんでtemplateライブラリはまともに動かないと

916:909
06/12/30 22:05:55
ふむふむ、C++の出来はあまりよろしくないという事みたいですね。
もう少し調べて2005の購入も検討してみます
レスいただいた皆さん、ありがとうございました

917:デフォルトの名無しさん
06/12/30 22:48:46
>>916
2005EEは無料で入手できるよ。
リソースエディタがないからリソース編集にはVS6が使えるし。

918:917
06/12/30 22:49:18
×リソースエディタがないから
○リソースエディタがないけど

919:デフォルトの名無しさん
06/12/31 00:27:11
>>908
上のやつはライブラリに互換性が微妙になくてハマる場合がある
Standard以上の版に付属しているPlatform SDKはSP1相当だから
そっちも入れたほうが無難

920:どっとねっと
06/12/31 02:02:38
VS2005に新規に追加になった(右クリックメニューにある)
『リファクタリング』とは一体どういった場合に有効な機能なのでしょうか?

何か
 ・役に立つ場合
 ・使い方
をご存知の方がいらしましたらご伝授下さい。


921:デフォルトの名無しさん
06/12/31 02:03:33
>>920
URLリンク(www.google.com)

922:どっとねっと
06/12/31 02:13:39
>>921
> リファクタリングは手に負えない汚いソース・コードに堕落しないために使用することができるテクニック
つまりこーいう事みたいですね。
ありがとうございます。

923:デフォルトの名無しさん
06/12/31 02:21:24
WIN32APIのSDKのコードを.NETのマネージコードと共存させる場合、VC8ならexternでネイティブなコードと混在させれますが
C#やVBの場合も同じように書けるのでしょうか?


924:デフォルトの名無しさん
06/12/31 02:25:44
>>923
URLリンク(www.atmarkit.co.jp)
こういうことしたいの?

925:どっとねっと
06/12/31 02:40:56

マスターしました。
便利ですね。

926:デフォルトの名無しさん
06/12/31 15:38:09
>>925そうそう
へぇー、C#でもできるんだ、てか、できないと変だよね。

927:デフォルトの名無しさん
06/12/31 16:48:11
Visual C++ 2005の話ですが、SP1当てるとランタイムも更新されてたりするのかな?
だとするとSP1対応のランタイムを配布しなきゃいけないということになるわけですが、
どこかそういうURLがあったら教えてください。

928:デフォルトの名無しさん
06/12/31 16:50:22
ファイルの日付けみたらわかりそうなもんだけど

929:デフォルトの名無しさん
06/12/31 17:00:16
>>927
綾川版FirefoxがSP1でコンパイルされてるけど、SP1のランタイム配布してるよ。

930:デフォルトの名無しさん
06/12/31 17:17:01
>>929
やっぱりまだMSやVectorは配布してないようですね。
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86
にあるやつと同じのを配布すれば良いということで理解しました。

ありがとうございます。

931:デフォルトの名無しさん
06/12/31 20:38:08
なんでスタティックリンクしないんだ?

932:デフォルトの名無しさん
06/12/31 21:07:10
スタティックリンクは可能な限りしないというのがお約束でしょ。MSDN嫁。

933:デフォルトの名無しさん
06/12/31 21:36:38
ランタイムをダイナミックリンクしたもの作ったことないよ。

スタティックリンクは可能な限りしないというのがお約束って
MSDNのどこに書いてるのか教えて欲しい

934:デフォルトの名無しさん
06/12/31 22:13:39
SxSなんかでもって、あんまり気にしなくてよくなったよ。
以前はmsvcrtのバージョン違いでヤなことになってたが。

935:デフォルトの名無しさん
06/12/31 22:26:18
>>933

932じゃないけど

URLリンク(msdn2.microsoft.com)(VS.80).aspx

とか

URLリンク(msdn2.microsoft.com)(VS.80).aspx

に書いてある件じゃない?
スタティックリンクされたexeと、ダイナミックリンクされたdllを混ぜたりすると
ランタイムの使うグローバル領域が別メモリ空間にとられるから、不具合が
おきたりするってやつ。 一例としてerrnoとかがうまく受け取れなかったりする
はず。


936:デフォルトの名無しさん
06/12/31 22:44:59
>>935
そのミスマッチは論外だろ

937:デフォルトの名無しさん
06/12/31 22:50:04
>>936

exeとdllをどちらも自分でビルドするなら、そういったミスマッチは
起こらないだろうけど、そうでない場合たまにハマったりするよ。

938:デフォルトの名無しさん
06/12/31 22:59:19
>>935
リンク先読んでみたけど、スタティックリンクを避ければ万事OK
という話でもないような

939:デフォルトの名無しさん
06/12/31 23:21:43
スタティックリンクにしたいけどソースの変更が必要だから難しい

940:デフォルトの名無しさん
06/12/31 23:59:56
普通ランタイムはスイッチの切り替えだけでどっちも行けるだろ。
変更が必要な箇所のソースの前後を晒してみたら?


941:デフォルトの名無しさん
07/01/01 00:34:38
PointF p0 = PointF(0,num_updown->Value);

フォームから値を取り出してfloatに変換したいのですが
どうしたらよいですか?
なんかSystem::Decimalとかいうわけわかんない型みたいなのですが。。。

942:デフォルトの名無しさん
07/01/01 00:42:35
わけわかんないのはお前の頭。
普通にキャストしろよ。

943:デフォルトの名無しさん
07/01/01 00:46:13
プログラムはじめたばかりでよく分かってないのですが、
(float)num_updpwn->Value.ToSingle
とかやってみたのですがダメでした。
要するにどう書けばいいでしょうか?

944:デフォルトの名無しさん
07/01/01 00:46:51
((type*)num_updpwn)->Value.ToSingle

945:デフォルトの名無しさん
07/01/01 00:52:04
わろた。

946:デフォルトの名無しさん
07/01/01 00:54:19
>>944
せっかく教えた貰ったのですが

>型キャスト' : 'System::Windows::Forms::NumericUpDown ^' から 'float *' に変換できません。
>マネージ型をアンマネージ型に変換できません

と、エラーがでました。

947:デフォルトの名無しさん
07/01/01 00:54:32
なんて発音すれば良いんだ?
アップドプゥン?

948:デフォルトの名無しさん
07/01/01 00:55:57
おまいら空けましておめでとう

949:デフォルトの名無しさん
07/01/01 00:57:12
おめ

950:デフォルトの名無しさん
07/01/01 00:59:23
((System::Windows::Forms::NumericUpDown*)num_updpwn).Value.ToSingle

951:デフォルトの名無しさん
07/01/01 00:59:24
System::Single::Parse

952:デフォルトの名無しさん
07/01/01 01:04:46
(float)num_press->Value
でできました

953: 【大凶】 【1896円】 だってさ
07/01/01 01:21:07
あけおめ

954:デフォルトの名無しさん
07/01/01 01:51:01
>>953
おまえ、こんなところにも着てるのかよ

955:932
07/01/01 09:42:03
あれれ?

URLリンク(msdn2.microsoft.com)(vs.80).aspx
>静的なリンクよりも望ましい動的なリンク
>Visual C++ ライブラリに静的にリンクする C/C++ アプリケーションを再配布
>することはお勧めしません。一般的に、プログラムを Visual C++ ライブラリに
>静的にリンクすると、アプリケーションのパフォーマンスが大幅に向上すると
>誤って認識されています。ところが、Visual C++ ライブラリを動的に読み込む
>ことによるパフォーマンスへの影響は、ほとんどの場合は無視できます。
>さらに、静的にリンクした場合は、アプリケーションの作成者も Microsoft も、
>アプリケーションおよびその依存するライブラリにサービスを提供できません。
>たとえば、特定のライブラリに静的にリンクしたアプリケーションが、その
>ライブラリの新しいバージョンを持つクライアント コンピュータ上で実行される
>場合を考えます。この場合、アプリケーションは以前のバージョンのライブラリ
>からコードを使用するため、セキュリティ強化など、ライブラリの改良による恩恵
>を受けることができません。C/C++ アプリケーションを作成するときは、サービス
>を提供する状況について十分に考慮したうえで、依存するライブラリに静的に
>リンクするかどうかを判断し、可能な場合は動的なリンクを使用することを強くお勧めします。

このあたりの共有ライブラリを使う意義みたいなものは大昔から変わらない
話だよ。

956:デフォルトの名無しさん
07/01/01 10:18:24
まぁVCランタイムを静的リンクにするのはパフォーマンスの為でなく、
ライブラリのバージョンの差違によるトラブルを避けたいって時の方が
多いんだけどな。

ここ最近のVS2005での MSVCR80.dllの問題なんか見てると、どっちが
いいのかよくわからなくなってくる。


957:デフォルトの名無しさん
07/01/01 11:18:48
動的リンクを薦めながらシステムディレクトリにコピーすることは薦めないんだよな
もう性的リンクでいいじゃん

958:デフォルトの名無しさん
07/01/01 11:21:26
ぶははははw

性的リンクw

PINKにでも帰れw

959:デフォルトの名無しさん
07/01/01 12:54:02
( ゚д゚)ポカーン

960:デフォルトの名無しさん
07/01/01 12:59:39
>>959
正月だから958は酔ってるんだよ。
放っておいてやれ。

961:デフォルトの名無しさん
07/01/01 15:30:27
>>956
つ[SxS]
Win2kに対応する必要があるとどうにもならんけどな

962:デフォルトの名無しさん
07/01/01 17:06:04
IE7だとプロジェクト作成のWizが動かないことってある?

ちなみに
C++>MFCスマートデバイスアプリケーション
を選択したら

このページのスクリプトでエラーが発生しました
ライン: 4034
文字: 3
エラー: オブジェクトがありません。
コード: 0
URL: file:///C:/Program%20Files/Microsoft%20Visual%20Studio%208/VC/VCWizards/SmartDeviceAppWiz/MFC/Application/html/1041/default.htm

てなかんじのエラーメッセージが出てきてWizが起動しません
誰か情報を知ってたら教えてくださいな

963:デフォルトの名無しさん
07/01/01 17:37:02
だって動的リンクしたらでかいランタイムを俺が配んなきゃいけないじゃん。
kernel32.dllみたいに誰でも持ってるんなら動的リンクでも一向に構わんよ。

964:デフォルトの名無しさん
07/01/01 19:23:07
そもそもWinやVSに入っているDLLを勝手に再配布していいのか?

965:デフォルトの名無しさん
07/01/01 19:35:19
勝手じゃねーよ
再配布用のライセンスがあるだろ

966:デフォルトの名無しさん
07/01/01 20:48:54
というかDLLのバグをパッチで自動でなおしてくれるとか言うなら/Windows/system32あたりにwindows updateでつっこんでくれよ


967:デフォルトの名無しさん
07/01/01 20:52:05
自動で突っ込むだろ。その後再起動を要求されるけど

968:デフォルトの名無しさん
07/01/01 23:21:03
自動で直してくれりゃいいけど、稀に自動でバグ仕込んでくれたりするから
おれば性的リンクでいいや。

969:デフォルトの名無しさん
07/01/01 23:42:49
俺も性的リンクしたいが生憎独り身だ。
.NET2.0の修正パッチってセキュリティUpdate以外に自動更新来たっけ?

970:デフォルトの名無しさん
07/01/02 00:11:49
だからSxSがあるだろ

971:デフォルトの名無しさん
07/01/02 01:39:10
>>970
なんか2000で十分とかいう奴がいたりDirectXがあれで
突っ走ったので、ひっそりとXPで追加されたSxSとか
manifestって開発者でも知らない奴が多いのかよ?と
思い出している今日この頃

972:デフォルトの名無しさん
07/01/02 09:31:56
C++/CLRで開発してます。
キー入力を取得するのにフォームのイベントからではなくて
自由な関数内でGetAsyncKeyStateを使いたいと思ったのですが、
どういうわけかビルドするときにエラーが出て使えません。
>LNK2028: 未解決のトークン (0A000012) "extern "C" short __stdcall GetAsyncKeyState(int)" (?GetAsyncKeyState@@$$J14YGFH@Z) が関数 "public: void __clrcall ~略~ で参照されました。
.NETFrameworkでそういった関数は用意されてないでしょうか?
あと、どうしてC++/CLRからGetAsyncKeyStateが使えないんでしょうか?
理解が浅くて恥ずかしいですが、教えてください。
お願いします。

973:デフォルトの名無しさん
07/01/02 10:05:34
.NET Frameworkのではなく、Windows APIの関数だな。
それはともかく、user32.libはリンクしたか。

974:デフォルトの名無しさん
07/01/02 10:40:57
>>973
ありがとうございます。リンクしたら使えました。

もう一つ質問なのですが、そもそもGetAsyncKeyを使おうと思ったのは
マネージドでない普通のDirectInputがなぜか使えなさそうだったからなのですが、
これはどうやったら使えますか?c++/CLRから使うのは無理なのでしょうか?
マネージドではない普通のDirect3Dとかは使えているのですが・・・
dinput8.libはリンクしてますし、dinput.hもプロジェクトに参加させてます。
それから、ぐぐったところinitguid.hをインクルードして#define INITGUIDを書く
という情報がありましたのでそれをやったところいくつかエラーは減ったのですが
それでもまだ↓のようなエラーが残ってます。普通に使えている人はいますでしょうか?

input.obj : error LNK2020: 未解決のトークン (0A000013) c_dfDIMouse
input.obj : error LNK2020: 未解決のトークン (0A000014) c_dfDIKeyboard
input.obj : error LNK2001: 外部シンボル "c_dfDIMouse" は未解決です。
input.obj : error LNK2001: 外部シンボル "c_dfDIKeyboard" は未解決です。

975:974
07/01/02 11:42:14
すいません、他で聞いてきます。

976:デフォルトの名無しさん
07/01/02 11:55:16
最近vsaenv.exe (Visual Studio Macro)ってのがDCOM Server Process Launcher
の走ってるsvchost.exeの子プロセスとして、Visual Studio使ってない時まで3つ
4つプロセスリストに残る事があるんだけど、俺だけかね?最近やった変更といえば
SP1の適用とMS-IMEを2002から2007へアップグレードした事くらいなんだけど。

977:デフォルトの名無しさん
07/01/02 12:18:43
>>974
dxguid.libはどうよ?と実験もせず書く

978:974
07/01/02 12:36:44
>>977
それも入っております。

979:デフォルトの名無しさん
07/01/02 12:52:03
>>978
managed の extern "C" がどうなってるのか知らないけれどそのへんが解決できればなんとか

980:デフォルトの名無しさん
07/01/02 13:18:38
>>971
SxSはホントクソ真面目にやってるよな

ただmanifestはリンク手順が分かりにくい・・・IDE上ならいいけど

981:デフォルトの名無しさん
07/01/03 00:20:00
デバッガの使い方がわからない件
どっかいい解説サイトとか無いかい?

982:デフォルトの名無しさん
07/01/03 00:28:40
ヘルプも見れないんなら開発なんてやっていけないよ。やめたら?

983:974
07/01/03 02:53:43
>>979
共通言語ランタイムサポートのオプション設定の問題でした。
レスいただけた方、ありがとうございました。

984:デフォルトの名無しさん
07/01/03 04:57:09
VC7.0 2003を使ってます。
原因は不明だけど、ステップ実行していると時々OS(@XP、SP2)ごと固まったり、
異常にレスポンスが遅くなったりしますけどなんで?
Visual Studio 2005ならそういう問題は直ってますか?


985:デフォルトの名無しさん
07/01/03 05:19:50
あーオレもたまにそうなるな、2003だけど。
でも別のマシンでやるとおかしくならないんで
そのままだなあ

986:デフォルトの名無しさん
07/01/03 06:15:43
2005でもなるよ。戻ってこないことはないけど。

987:デフォルトの名無しさん
07/01/03 07:06:11
やっぱなるんだぁ~
教えてくれてサンキューサンキュー
あれどうにかして欲しいっすね



988:デフォルトの名無しさん
07/01/03 07:16:09
2005SP1ですけどなりません。お大事に。

989:デフォルトの名無しさん
07/01/03 07:23:35
2005SP1ですがなります。  ショボーン
なんかほかの環境に依存してるのかな?


990: 
07/01/03 07:29:55

お前らこんな時間から2chか?
早起きだな。

ってか正月からプログラミングっておい!

オタクめが

991:デフォルトの名無しさん
07/01/03 09:12:27
今じゃオタクもすっかり侮蔑語と化しているようだな

992:デフォルトの名無しさん
07/01/03 09:21:22
>>984
VC6、VS2005でも固まる現象あり。

マルチスレッド多用してるアプリだとIDEがデバッグ実行中に
固まりやすい気がする。

993:デフォルトの名無しさん
07/01/03 09:38:51
>>991
以前は、差別用語だったからずいぶんマシになったもんだ。(w

994:デフォルトの名無しさん
07/01/03 09:50:55
vs2005pro、VC8ですがWIN32Api SDKをコテコテに実装したDLLファイルを作成するのに
imm32.libを追加してコンパイルしなくてはならないのですが、VS2005の中には
見つかりませんでした、bcc5.5の中にはimm32.libがあり
そのライブラリィを参照させたいのですがどのように設定すれば出来るのか
教えてください。

995:デフォルトの名無しさん
07/01/03 10:00:20
PlatformSDKの中にあるだろ

996:デフォルトの名無しさん
07/01/03 10:01:49
Visual C++のリンカはBorland C++の使うOMFのLIBを受け付けたか?
Platform SDKをインストールしろ。インポートライブラリもわんさか付いてくる。

997:デフォルトの名無しさん
07/01/03 10:13:21
>>995
>>996
994です
サンクスですVS2005をインストールする際、デフォルトでインストールしt場合
Platform SDKもインストールされますよね?

998:デフォルトの名無しさん
07/01/03 10:18:11
>>997
そのVC++をインストールしたとこに、Vc8\PlatformSDK\lib はあるかい?

999:デフォルトの名無しさん
07/01/03 10:22:20
>>998
無いようです、どうやらMicrosoftのサイトからDLしないといけないみたいですね


1000:デフォルトの名無しさん
07/01/03 10:23:31
1000ならみんなハッカー

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


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