問題タブ [visual-c++-2005]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
199 参照

visual-c++ - Visual C++: ダイアログ エディターは、ダイアログ テンプレートにリンクされているクラスを忘れました

ダイアログを作成し、ウィザードを使用してそれにリンクされたクラスを作成しました。どういうわけか、VC++ はこれを忘れており、エディターでコントロールをダブルクリックしてハンドラーを作成するたびに、クラスを作成するように求めています。これらのマッピングは私が編集できるファイルに保存されていますか、それとも VC++ がこれを推測しようとして、私はそれに行き詰まっていますか?

0 投票する
2 に答える
118 参照

c++ - Visual C++ 2005 との奇妙なリンケージの問題

私を助けてください、どうにも解決できない奇妙な問題があります。

前提: Windows 7 x64 で Visual C++ 2005 を使用しています。Linux で g++ を使用すると問題なく動作するため、コードに致命的な欠陥はないと確信しています。

私が開発した静的ライブラリを使用するアプリケーションを開発しています。

アプリケーションのリンク フェーズで、2 つの謎の LNK2019 エラーが発生します。

これは、ライブラリのクラスの 1 つのヘッダーです。

明らかに、cpp ファイルでは、まったく同じ署名を持つ addAccel の実装を提供しています。

アプリケーションをライブラリにリンクしようとすると、addAccel を除く他のすべてのメンバー関数が見つかります。

リンカーは、シンボル "?addAccel@Quark@@QAEXABV?$TemplateVec2@M@Atlax@@@Z" を検索します。

.lib ファイルには (dumpbin を使用して見つけた) "?addAccel@Quark@sulfur@@QAEXABV?$TemplateVec2@M@Atlax@@@Z" があります。ここでの唯一の違いは、リンカが名前空間部分のないマングルされた名前を検索することであり、その理由はわかりません。

メソッドの名前、位置、呼び出し規約、署名を変更しようとしましたが、役に立たず、常に同じエラーが発生しました。

2 番目のエラーは非常によく似ています。ライブラリに別のヘッダーがあります。

正しい実装ファイルが提供されます。以前と同様に、他のすべてのメソッドは適切にリンクされていますが、addQuark はリンクされていません。

リンカーは、「?addQuark@Cluster@sulfur@@QAEPAVQuark@@W4Feature@2@MMMM@Z」を検索します。

しかし、ライブラリには「?addQuark@Cluster@sulfur@@QAEPAVQuark@2@W4Feature@2@MMMM@Z」があります。

今回の違いは、コンパイラが検索するバージョンの「@」の間に最初の「2」がないことです。

Visual Studio でこのアプリケーションをビルドするのはこれが初めてではなく、今回の最後の変更を除いて、常に正常にリンクされています。

手がかりがありません、事前に感謝します

0 投票する
2 に答える
1579 参照

dll - GetProcAddress で dll 関数のアドレスを取得できません

ヘッダー ファイルの次のコードを使用して、VS C++ で (もちろん dll プロジェクトとして) dll を作成しました。

dll の .cpp ファイルは次のとおりです。

CExportCoordinatorクラスが提供する 3 つのメソッドをすべて使用する必要があるため、クラス全体をエクスポートしました。以下は、上記の dll をオンザフライでロードするメイン アプリケーションのコードです。

出力では、正しいライブラリがロードされていることがわかりますが、その関数ポインタprocAddは NULL です。名前マングリングと関係があると思いextern "C"、dllのヘッダーでクラスをエクスポートするときに追加しましたが、何も変わりませんでした。ところで、クラスのエクスポートされた関数を表示するためにdllエクスポートビューアーを使用しましたが、クラス全体が正しくエクスポートされました。何か助けはありますか?

UPDATE
dllのヘッダーファイルにエラーがあります。extern "C" __declspec(dllexport)クラスがまったくエクスポートされないため、クラスの前に使用しないでください。私が使用するclass __declspec(dllexport) CExportCoordinatorと、クラスは正しくエクスポートされますが、とにかくNULL以外の関数のアドレスを取得できません。

0 投票する
2 に答える
131 参照

c - Qt: Microsoft Visual C .NET 2005 で Qt をビルドするにはどうすればよいですか?

Microsoft Visual C 2005 プロジェクト内で Qt をビルドして使用する必要があります。それを行うことは可能ですか?

0 投票する
2 に答える
372 参照

c++ - スクリプトを使用して Visual Studio C++ ソリューションにプロジェクトを追加する

私は通常、ビジュアル スタジオでマルチ プロジェクト ソリューションに取り組んでいます。ソリューション自体はリポジトリに保存されていないため、ビジュアルスタジオを介して(「親」プロジェクトの一部であるリストから)さまざまなプロジェクトを追加するのに時間がかかります。スクリプトを介してこれを達成できるかどうか疑問に思っています。すなわち: 1. ソリューションを作成します。2 そのソリューションにプロジェクトを追加します。

上記の質問に追加する必要がある補足があります。Visual Studio のコマンド ウィンドウ内から File.AddProject を使用できます (プロジェクトを開いていると仮定します)。devenv /command を使用して、Visual Studio の外部から File.OpenExistingProject を使用することもできます。ここで唯一欠けているのは、Visual Studio の外部から、開いているプロジェクト (ソリューション) に既存のプロジェクトを追加する方法です。

0 投票する
1 に答える
1028 参照

c - TCP/IPソケットAPIブック

私は最近、このを購入して、窓の下にネットワークソケットを構築するためのいくつかの基本を知るようになりました。たとえば、この本で書かれたコードのコンパイルに問題があります-最初のプログラムでは、含めるように指示されています

Visual C ++でこれらを試しましたが、コンパイラがエラーを返します。インクルードファイルが見つかりません。誰かがその本を読んだり、それについて何か知っていますか?

0 投票する
2 に答える
11340 参照

c++ - Why/when is __declspec( dllimport ) not needed?

In a project using a server.dll and a client.exe, I have dllexported a server symbol from the server dll, and not dllimported it into the client exe.

Still, the application links, and starts, without any problem. Is dllimport not needed, then???

Details:

I have this 'server' dll:

and this client executable:

The server command line:

Client command line:

0 投票する
1 に答える
115 参照

.net - 大きなVC++.NETGUIヘッダーファイルを分割する

10,000行のVisualC++.NETForm1.hファイルと3メガバイトの形式のGUIを継承しましたForm1.resx。前の作者は基本的に、インターフェイスをモックアップするために多くのボタンを配置し、いくつかのことを実装してから、蒸気を使い果たしました。私の仕事はそれを終えることです。経営陣はその「投資」を失いたくないので、私はむしろ何をしても続けたいと思います。

このモンスターを小さなファイルに分割し、おそらくそれをいくらか整理するために私ができることはありますか?今のところ、編集作業が遅いほどの大きさです。遅くなるだけです。既存の機能はForm1.hファイルに直接実装されているため、UI要素にアクション/イベントを添付したままにしておくことをお勧めします。

新しい管理対象リソースファイルを作成し、UI要素をコピーして貼り付ける方法を理解しましたが、名前やイベントなどの特定のプロパティは含まれていません。

0 投票する
3 に答える
9597 参照

c++ - wchar_t の配列

wchar_t の配列が欲しいです。

以下の作品:

しかし、これはしません

エラーは発生しませんが、wcAltFinalText は不適切な ptr です

ヘルプとコメントは大歓迎です。

0 投票する
0 に答える
230 参照

visual-studio-2005 - 依存関係の $(ProjectDir) を依存プロジェクトのインクルード ディレクトリに追加するには?

ソリューションには 100 以上のプロジェクトがあります。各プロジェクトのパブリック ヘッダーは、そのプロジェクト ディレクトリにあります。したがって、プロジェクトごとにインクルードフォルダーの大きなリストを保持したくありませんが、VSにそれを強制します。つまり、プロジェクトAがBに依存している場合、B.libがAのリンクに追加されるだけでなく、Bのプロジェクトディレクトリも追加されますA のインクルードに暗黙的に追加されます。

ありがとう!