私は週末にこれを理解しようと過ごしました。私は最後のステップにいます。私の目標:Visual Studio 2010とQt 4.7.3を連携させること。Visual Studio 2010 Qtリンクの問題
私は次のような構成で構築するために指定して、ソースからのQtをインストール:
configure.exe -debug&リリース-opensource -platformのWin32-msvc2010 -no-webkitの-no-フォノン-no-フォノン-backend -no-script -no-qt3support -no-multimedia -no-ltcg
コンフィギュレーション後、nmakeを実行しましたが問題はありません。
私のVisual Studio 2010ソリューションでは、2つのプロジェクトがあります。 Qtライブラリにリンクできないと訴えています。共通プロパティで
AssetIOは、もともとQt IDEを使用してビルドされていました。私はVisual Studio内でプロジェクトをインポートするためにQtアドインを使用しました。プロジェクトのコンパイルAssetIOは完璧に機能します。ただし、ショートプロジェクトをコンパイルすると、次のリンカーエラーが発生します。 ショートプロジェクトを右クリックし、プロパティを選択します。 AssetIOを参考にしました。ここで
は、私はプロジェクトのために持っているライブラリ・ファイルです::、私は次のようしている構成プロパティをクリックすると、VC++ディレクトリは、ディレクトリが追加含める むしろ、その後のディレクトリが含まれ、私の、より多くのスクリーンショットを投稿AssetIOプロジェクトは次のとおりです。 C:\ qt_source \ 4.7.3 \が含ま
AssetIOプロジェクトのための私のライブラリディレクトリは次のとおりです。C :\ 4.7.3 \ binにここ
\の簡単なソースコードですqt_source私が働きたいと思っているプロジェクトグラム(私の簡単なテストプロジェクト)
main.cpp
int main(int argc, char* argv[])
{
AssetIO::LevelLoader a;
a.dostuff();
return 0;
}
LevelLoader.h
#ifndef LEVELLOADER_HPP
#define LEVELLOADER_HPP
namespace AssetIO
{
class LevelLoader {
public:
explicit LevelLoader();
~LevelLoader();
void dostuff();
};
}
#endif // LEVELLOADER_HPP
LevelLoader.cpp
#include "LevelLoader.hpp"
#include <QDomDocument>
#include <QFile>
#include <QDebug>
#include <QString>
using namespace AssetIO;
enum ComponentType { Drawable = 0, Position };
// This will definitely be changed, to return a full-blown component. Passing the tagname directly to the
// component factory.
ComponentType ConvertToComponentType(QString tagName)
{
if(tagName.toLower() == "Drawable") {
return Drawable;
}
else if(tagName.toLower() == "Position") {
return Position;
}
else {
// LOG
exit(EXIT_FAILURE);
}
}
LevelLoader::LevelLoader()
{
}
LevelLoader::~LevelLoader()
{
}
void LevelLoader::dostuff()
{
QDomDocument doc("la");
QFile file("../../../Resources/input.sto");
if(!file.open(QIODevice::ReadOnly)) {
// TODO: log this, something
exit(EXIT_FAILURE);
}
if(!doc.setContent(&file)) {
// TODO: log
file.close();
}
// we close the file now the doc has control (i think)
file.close();
// Read the root element
QDomElement root = doc.documentElement();
if(root.tagName() != "Root") {
// TODO: log
exit(EXIT_FAILURE);
}
// Read the Header Info
QDomNode headerNode = root.firstChild();
QDomElement e = headerNode.toElement();
if(e.tagName().toLower() != "HeaderInfo") {
// LOG
}
QDomNodeList componentNode = headerNode.childNodes();
int s = componentNode.count();
QString componentTag(componentNode.at(0).toElement().tagName());
QDomNamedNodeMap a = componentNode.at(0).attributes();
}
私は私が間違ってやっているかを把握することはできません。誰にもアイデアはありますか?私はどこでも解決策を見てきました。
qmakeをコマンド引数で実行すると、コマンドラインから正しいことを確認できますか?エディタとしてQtを使うつもりですが、とてもいいです。私は、visual studio 2010でexeファイルをデバッグしていたときに、私のassetIOプロジェクトに入ることができるようにしたかったのです。 – Short