2016-11-18 7 views
0

私は、かなり重要なファイルを含むプロジェクトを持っており、残りのプログラムのデバッグを可能にするために、少なくともいくつかの最適化、特にインライン展開。以前はVS2010でこれを手動で行っていましたが、今はpremake5によって生成されたVS2015プロジェクトで同じことを達成したいと思います。プリケークで生成されたVSソリューションで単一のファイルを最適化する

私はこのファイルの configurationブロックは多少このように見ている必要があることを理解し

filter { "configurations:Debug*" } 
    configuration "critical_file.cpp" 
    -- Optimization settings go here 
    configuration {} 
filter {} 

私はいろいろなことを試してみました:optimize "Speed"optimize "Full"は動作しませんVS2015がある/RTC1を、前提としているため/O2または/O4と互換性:

7>cl : Command line error D8016: '/Ox' and '/RTC1' command-line options are incompatible 

flags { "NoRuntimeChecks" }をこのブロックに追加することで違いはありません。

少なくとも、関数のインライン化を有効にする代わりにinlining "auto"を追加しようとしましたが、このファイルの特定の構成は生成されませんでした。

私は最後はややこのようになりますで何をしたいと思います:

<ClCompile Include="critical_file.cpp"> 
    <Optimization Condition="'$(Configuration)'=='Debug'">Full</Optimization> 
    <BasicRuntimeChecks Condition="'$(Configuration)'=='Debug'"></BasicRuntimeChecks> 
</ClCompile> 

は全くpremakeでこれが可能であり、あるいはそれが自動的に設定するための基本的な実行時チェックを無効にするパッチを適用する必要がありますまたは最適化されたファイル?

答えて

0

私が正しく理解していれば、私はあなたがこのような何かを探しているかもしれないと思う:

project "MyProject" 
    flags "NoRuntimeChecks" 

    filter { "files:critical_file.cpp" } 
     optimize "Speed" 

デバッグを最適化し、個別のバージョンをリリースしたい場合は、それは次のようになります。

project "MyProject" 
    flags "NoRuntimeChecks" 

    filter { "configurations:Debug", "files:critical_file.cpp" } 
     optimize "Speed" 

    filter { "configurations:Release", "files:critical_file.cpp" } 
     optimize "Full" 

希望に役立ちます!

+0

悲しいことに、Visual Studioのデバッグヘルパーをデバッグモードであきらめず、プロジェクトでランタイムチェックを有効にしておきたいが、その特定のファイルに対しては無効にしたいので。私が達成したいことは**最初の投稿の最後の例に示すように手動で作成したVSプロジェクトファイルで**可能です。ファイルをビルドすると警告が出ますが、実際にはその単一のファイルを最適化します。私の主な問題は、単一のファイルのフィルタブロックに '' flags {"NoRuntimeChecks"} ''を追加しても、私の例のようなプロジェクトは生成されないということです。 –

関連する問題