2013-03-14 21 views
1

我正在嘗試解析this bug,並且建議的解決方法是將-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED傳遞給moc.exe。如何在vs2010項目中將特定標誌添加到moc中?

This問題與我的相關。區別在於我想在VS2010項目中添加MOC標誌(VS加載項)。

我已經試過左擊 - > Qt的項目設置 - > MocOptions並添加-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED

注意我的問題時使用boost 1.53。

+0

其實你的解決方案爲我工作(我使用Qt 4.8.4 VS2010和boost 1.53) – 2013-03-15 00:44:06

+1

你確定在編輯MocOptions後重建了你的整個項目嗎?你在預編譯頭文件中使用boost嗎? – 2013-03-15 00:49:31

+0

@Corijn,是的,我在預編譯頭文件中使用了boost。這是一個問題嗎? – andre 2013-03-15 14:22:46

回答

2

該解決方案已經從昨天here

我們需要添加-DBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION到商務部選項也提供。

1

您嘗試過的其實是正確的解決方案。但是,您需要重建您的項目以解決該錯誤。當DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED被設置時,它改變你的Boost頭文件的預編譯。正如你所說的,你在預編譯頭文件中使用boost。你必須重建它們以解決你的問題。

+0

非常感謝您的回覆,但這不是我的解決方案。似乎有人在我給解決方案的第一個鏈接中更新了這篇文章。我們需要在使用boost 1.53時添加-DBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION。 – andre 2013-03-15 14:59:45

+0

讓我困惑。 DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED適用於我(我確實有Boost 1.53 Rev:81650 2012-12-01 13:28:55 +0100)。但是你必須重新編譯預編譯的boost頭文件,對吧? – 2013-03-15 16:18:46

+0

是的,但單獨重建預編譯頭文件不起作用。你在你的項目中使用'boost/lexical_cast.hpp'嗎? – andre 2013-03-15 16:23:47

相關問題