2016-08-13 44 views
0

私は1つのプロジェクトに.SLNファイルがあり、Visual Studio 2008でプロジェクトを実行することができます。また、私たちのプロジェクトで使用しているqt拡張子が追加されています。Visual StudioアプリケーションからQtアプリケーションへの移植

私は.PROとPRI使用して次のリンクを作成しようとしました: Converting .Sln Project to .pro Project

私ができる関連参照libが持っていると、必要なファイルを追加して管理します。しかし、コードはVSにはあまりにも特異です。

私は取得しています問題のよう:

1)がTCHARからのConstに変換できないのChar *

2)cc1plus.exe:エラー:1つの以上のPCHファイルが発見されたが、彼らが無効だった

3)cc1plus.exe:エラー:詳細については-Winvalid-PCH使用

4)cc1plus.exe:致命的なエラー:リリースの\ STDAFX.H:そのようなファイルやディレクトリ

5)エラー:C関数の矛盾宣言 'int型のWinMain(HINSTANCE、HINSTANCE、LPTSTR、int型)' int型_tWinMain(HINSTANCE hInstanceは、HINSTANCE hPrevInstance、LPTSTR lpCmdLine、int型nCmdShow)

これらのことから、私はその結論に達しましたこのコードはVisual Studioにより限定されています。

はですQtの5.6.0(MSVC 2013、32ビット)に基づいて

1)のQt Creatorを3.6.1 :私は正しいバージョンを使用していない場合、私はツールのplsは以下の使用しています

は、私を修正しますVS2008からQt 5.6または5.7にコードを移植するための具体的な方法があります。

+0

質問を編集して、 '.pro'ファイルの内容を含めてください。 –

答えて

0

MSVCコンパイラの使用問題を解決できましたか。

1

あなたが既に行ったこと - 私は、ビジュアルスタジオのプロジェクトファイルをQtに移行することです。ただし、完全にQtに移行してクロスプラットフォームアプリケーションを作成する場合は、すべてのMFC固有のコードをQtに置き換える必要があります。これは非常に異なります。たとえば、WinMainはWindows固有のものです(期待通りです)。シンプルなメインが必要です。そこには、QApplicationなどを定義する必要があります。

私の助言は、完全なマイグレーションに取り組む前に、いくつかの小さなQtサンプルから始めることでしょう。あなたはつまった場合、より具体的な質問をスタックオーバーフローに戻すことができます。

0

これは単なるトリビアです。

マイクロソフトは、Unicodeコンソーシアムが作業を開始する前に、国際的な文字をWindowsに導入するのを早すぎるように試みました。したがって、Windowsの関数は文字列をさまざまなもの、普通のascii、w_chars、TCHARSなどとして渡すことができます。すべてを一貫させる必要があります。文字列をとるすべてのWindows関数には、アスキーの場合はA、ワイドの場合はWの2つの形式があります。 すべてに一貫性を持たせ、関数が正しい形式を得ていることを確認する必要があります。文字列をワイドからアスキーに変換するためのいくつかのグルー関数を挿入することがあります。

深刻な問題はありませんが、それはちょっとした仕事です。

関連する問題