問題タブ [vc10]
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.
c++ - ネイティブ VS 2010 (VC10) tr1 ライブラリを Boost.TR1 に置き換える
私は VS 2005 (VC8) を std::tr1 名前空間の Boost.TR1 と共に使用しており、ここで説明されているように、VS のインクルード ディレクトリを設定してブースト tr1 ヘッダーを優先させています。
現在、VS 2010 (VC10) に移行していますが、同じインクルード メソッドを使用するとコンパイル エラーが発生するようです。
インクルード ディレクトリは次のように設定されています。
- [ブーストルート]\boost\tr1\tr1
- [ブーストルート]
- VC 標準インクルード ディレクトリ
サンプルコード:
ビルド出力:
ブーストの代わりに VC10 の tr1 ヘッダーを使用しているようです。VS に Boost.TR1 を代わりに使用させる正しい方法は何ですか?
com - VB6 で VC10 ATL コントロール チュートリアルがクラッシュする
VC ATL COM コントロールを扱うのは久しぶりです。VB6 で使用する場合、VC6 ATL コントロールを VC10 にアップグレードする際に問題が発生します。トラブルシューティングの段階で、Microsoft のチュートリアル [1] に従って VC10 ATL コントロールを作成し、そのコントロールを Visual Basic 6 のフォームに配置しようとしています。コントロールが VB6 IDE の VB6 フォームに配置されると、エラーが発生します:
システム エラー &H80004005 (-2147467259)。不明なエラー
VC6 ツールの ActiveX コントロール テスト コンテナーでコントロールをテストすると、コントロールに緑色の三角形が表示され、プロパティを呼び出すことができます。
ATL コントロールを VB6 で動作させるにはどうすればよいですか?
runtime - vc10 ランタイムのインストールを行う正しい方法
VC10 ランタイムのインストールに頭が下がります!
2 つのアプリケーションがあり、それぞれに独自のインストーラーがあります。それぞれがスタンドアロンで出荷できることを確認するために、各インストーラーには、VC10 ランタイムをインストールするための vcredist_x??.exe が含まれています。
現在、インストーラーの 1 つに「SP0」ランタイムが含まれています。これは少し前にビルドされたもので、「i0」と呼ばれます。また、「SP1」ランタイムが含まれているインストーラーの 1 つには、現在ビルドされているため、「i1」と呼ばれます。
私のユーザーが i0 だけ、または i1 だけをインストールした場合、すべて問題ありません。ユーザーが最初に i0 をインストールしてから i1 をインストールした場合、すべて問題ありません。
ただし、ユーザーが最初に i1 をインストールすると、i0 をインストールしようとすると、ランタイムのインストールが失敗します。
Redist を手動で実行すると、SP1 が既にインストールされていることを確認すると、SP0 インストーラーが動揺することがわかります。
これがほとんど犯罪的にばかげているように見えるという事実は別として、どうすればそれを回避できますか。SP0 インストーラーに指定できる「強制」フラグはありますか? ランタイムとそのバージョンが既にインストールされているかどうかを確認する「適切な」方法はありますか?
boost - VS2010 で Boost 1.39 をコンパイルするには?
C++ プロジェクトを VS2005 から VS2010 にアップグレードしようとしていますが、VS2010 で Boost ライブラリ (v1.39) を再コンパイルする必要があることを除いて (つまり、vc100 を使用して - 私たちが持っているバージョンは vc80 です)、これまでのところすべて問題ないようです。ブースト アップグレードを同時に実行せずに、VS2005 から VS2010 へのアップグレードを最初に完了したいので、(この段階では) ブーストをアップグレードしたくありません。
私が抱えている問題は、Boost 1.39 には bjam が付属しており、私たちが持っているバージョンは msvc10.0 をサポートしていない/認識していないことです。私はこれを試しました:
C:\libs\boost_1_39_0> bjam toolset=msvc-10.0 --build-type=完全なステージ
しかし、私はこれを取得します:
C:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:733: configure-really
*引数エラー
* ルール path.make ( native )
* で呼び出されました: ( )
* 引数がありません native
C:/libs /boost_1_39_0/tools/build/v2/util\path.jam:44
: C:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:184: 構成
Cで呼び出されるルール「make」の定義を参照してください:/libs/boost_1_39_0/tools/build/v2/tools\msvc.jam:137: msvc.init
C:/libs/boost_1_39_0/tools/build/v2/build\toolset.jam:38: toolset.using
C内:/libs/boost_1_39_0/tools/build/v2\build-system.jam:465: in process-explicit-toolset-requests
C:/libs/boost_1_39_0/tools/build/v2\build-system.jam:545: inロード
C:\libs\boost_1_39_0\tools\build\v2/kernel\modules.jam:283: インポート
C:\libs\boost_1_39_0\tools\build\v2\kernel\bootstrap.jam:138: ブーストビルド
C: \libs\boost_1_39_0\boost-build.jam:16: モジュール スコープ内
C:\libs\boost_1_39_0>
msvc.jam を見ると、msvc-10.0 をサポートしていないようです (Boost が 1.39 のときに vc10.0 が出ていたのではないかと疑っているので、当然のことです)。
少し調査したところ、bjam の代わりに b2 が必要かもしれないことがわかりましたが、Boost をコンパイルした経験はほとんどありません (以前にプリコンパイルされたライブラリを使用しただけです)。 Boost 1.39で?または、vc10.0 で bjam を動作させることは可能ですか?
基本的に、Boost 1.39 と vc-10.0 (VS2010) をできるだけ簡単にコンパイルする必要があります。これを行う方法を教えてくれる人にはとても感謝しています!
前もって感謝します........ :)
opencv - CMake を使用せずに opencv v2.4.4 および VC10 で CUDA 5.0 を有効にし、「cudart32_42_9.dll が見つかりません」というエラーを解決するにはどうすればよいですか?
これは私の最初の投稿です。不明な点や投稿ルールを完全に順守できていない場合は、お詫び申し上げます。いずれにせよ、私は自分自身の質問の準備として、広範囲に調査しました。
一緒に働く:
- Windows 7 エンタープライズ バージョン 6.1.7600
- Intel Xeon CPU クアッドコア 3.07GHz
- NVidia Quadro 4000 GPU
- Windows x64 ビルド用の CUDA v5.0 ツールキット
- OpenCV v2.4.4
- opencv v2.4.4 に属する OpenCV Cuda パッケージ
- Microsoft Visual Studio C++ 2010 Express ('vc10')
- (!) CMake なし (!)
私が行った手順、チュートリアル、チェック:
- opencv.org チュートリアルに従って、opencv 2.4.4 に必要なソフトウェアをインストールして構成しました。
- vc10 では、vc10 での opencv のビルドに関する opencv.org のチュートリアルに従います (そこに記載されているグローバルメソッドを適用し、gpu 関連の dll を一番上に配置します)。
- 計算を GPU に移動しようとするまで、CMake ソフトウェアをインストールしたことがなく、その必要もありませんでした。
- さらに、この vc10 ソリューションで適用しているすべての .dll ファイルを「デバッグ」フォルダー (このソリューションの .sln ファイルと同じフォルダーに配置) にコピーして貼り付けました。
- 最後に、NVidia 開発者ゾーン CUDA 5.0 入門ガイドに従って、「インストールの確認」の段落まで成功し、「既存のプロジェクトのビルドのカスタマイズ」の指示に従って、CUDA コンパイルを含むようにビルド構成を構成しました。
この質問は、私がデバッグ モードで作成した win32 コンソール .cpp を高速化しようとすることに関するものです (つまり、win32 OpenCV ライブラリを使用したビジュアル スタジオ ソリューションはかなり単純な画像処理プロジェクトですが、大規模なカーネルを使用したぼかしがあります。多くの時間) gpu 上で実行することによって。ただし、cuda 5.0 で opencv を実行すると問題が発生します (OpenCV Cuda Package の readme.txt で Cuda 5.0をダウンロードしてインストールするように指示されていても) 。
vc10 でコンパイルして実行すると (=Win32 プラットフォームで F5 キーを押す)、または同様に対応する .exe 実行可能ファイルを実行すると、「コンピューターに cudart32_42_9.dll が見つからないため、プログラムを開始できませんでした」というシステム エラーが発生します。 "。
どうやら、 opencvの readme で cuda5.0 を使用するように指示されていても、 32 ビットの cuda 4.2 ツールキット (cudart 32 _ 42 _9.dll)に属する cuda-libraries をまだ探していますが、インストールされていないため明らかに見つかりません。
この 質問では、OpenCV v2.4.4 は単に cuda 5.0 でコンパイルされておらず、これを実行する唯一の方法は CMake を使用して独自のライブラリをコンパイルすることであると述べられています。
私の質問:
とりあえず、x64 cuda 5.0 を使用して OpenCV v2.4.4 を実行できるようにすることが可能になったかどうか疑問に思っていますが、CMake を使用して独自のライブラリをコンパイルする必要はありません。
どのような手順を踏むべきかを正確に教えてください。C++ 言語、コンパイラ ライブラリ dll などを使用するのは 3 週間目なので、ソリューションに詳しく書いてください。
よろしくお願いします!
編集
この質問は、実際には(@talonmies のコメントにより)、
- 「OpenCV with cuda MS Visual Studio 2008」というタイトルのユーザー「duttasankha」、および
- ユーザー「zebullon」は、「64 ビット マシンで 64 ビット SDK が必要ですか」というタイトルです。
c++ - ブースト シリアライゼーションのリンカ エラー: lib ファイルがありません
私は VC 10 を持っていて、boost 1.53.0 を使用しています。ブースト シリアライゼーションサンプル
からサンプル プログラムをコンパイルしてリンクしようとしていますが、リンカーで次のエラーが生成されます。
インクルードパスとライブラリパスを確認するなど、多くのことを試しましたが、すべて正しかったです。実際、リンカーが要求したこのファイル名は、MS VC 10 とブーストの両方がインストールされている c ドライブ全体にもありません。
ありがとうございました。
boost-msm - MSM 疑似終了状態のブースト
いくつかの状態に独自のサブ状態マシンがあるブースト MSM 状態マシンを作成しています。Boost の例に従って、直交領域を作成しました。これにより、エラー イベントをどこからでも送信してステート マシンを終了させることができます。
これは、サブ ステート マシンの 1 つからエラー イベントをポストしようとするまではうまくいきました。何も起こらなかったので、Pseudo Exit ステートを使用してエラー イベントを親ステート マシンに転送する必要があるように思われました。これは最初はうまくいきましたが、各サブステート マシンからのエラーを処理するために疑似終了ステートを追加すると、しばらくするとコンパイラ エラーが発生します。それを突き止めることもできず、1つまたは2つの疑似終了状態を持つことができますが、最終的には壊れるだけです。各サブ ステート マシンには 7 つ以上の遷移はなく、親には 9 つしかありません。各サブ ステート マシンには 2 つまたは 3 つのサブ ステートが含まれ、親には 6 つのサブ ステートがあります。
なぜこれが起こるのか誰にも分かりますか?トランジションを交換しようとしましたが、特定のエントリが間違っているようには見えません。状態名が親クラスによってスコープされているため、競合が発生する理由がわかりません。さまざまなイベントがトリガーされているにもかかわらず、疑似出口が 1 つしかないためですか? それとも私のコンパイラだけですか?
エラーは次のとおりです。
何か案は?ありがとう。
c++ - Ogre3d は Visual Studio 2010 でブースト ライブラリをリンクできません
私は最近、ウェブページのチュートリアルに従って ogre 3d v.19 プロジェクトをセットアップしようとしました。プロジェクトをセットアップした後、ビルドしようとすると、次のエラーが発生します。
リンク: 致命的なエラー LNK1104: ファイル 'libboost_thread-vc100-mt-gd-1_55.lib' を開けません
正しいオーガSDk(vc10)を使用していることを確認しました。また、上記のファイルがその場所にあるかどうかも確認しました。本来のフォルダにありますが、それでもエラーが発生します。
助けてください。
c++ - OpenCV および MFC - 32 ビットおよび 64 ビットでの imshow の奇妙な動作
Microsoft Visual Studio 2010 に MFC プロジェクトがあります。ダイアログに PictureControl があります。opencv でウィンドウを生成してから、このように PictureControl に変換します
32 ビット アーキテクチャ用にコンパイルすると、動作します。64ビット用にコンパイルすると、名前付きウィンドウが生成されますが、非表示にはならず、名前に「%HO」のような「INPUT」とは異なる奇妙な文字列があります。imshow で何かを表示しようとすると、アクセス違反のエラーが発生します。画像はウェブカメラからのものです。どんな助けでも大歓迎です!ありがとう。
アップデート
ウィンドウ ハンドラー hWnd が問題ないかどうかを確認しようとしましたが、未使用のファイルで "CXX0030: エラー: 式を評価できません" というメッセージが表示されます。関数 cvGetWindowHandle() の OpenCV のドキュメントでは、Win32 アプリケーションの場合、名前で参照されるウィンドウのネイティブ HWND を返すと述べています。