Code: Select all
command-line error: invalid number: --wchar_t_keyword
Code: Select all
command-line error: invalid number: --use_pch
Fehler
Ich verstehe, dass diese normalerweise auftreten, wenn Sie falsche Kompilierungsbefehle für Ihren Compiler verwenden, z. B. -Wall anstelle von /W4 bei Verwendung von MSVC.
Ich verwende jedoch von MSVC definierte Befehle, daher weiß ich nicht, warum sie transformiert werden.
Code: Select all
target_precompile_headers(project1 PRIVATE src/stdafx.h)
target_compile_options(project1 PRIVATE /permissive)
# struct alignment 1 byte
target_compile_options(project1 PRIVATE /Zp)
# treat wchar_t as built in type
target_compile_options(project1 PRIVATE /Zc:wchar_t)
if (CMAKE_BUILD_TYPE STREQUAL "Release")
# C/C++ -> Optimization -> String Pooling
target_compile_options(project1 PRIVATE /GF)
# C/C++ -> Optimization -> Omite Frame Pointers
target_compile_options(project1 PRIVATE /Oy)
# Only explicit inline function expansion
target_compile_options(project1 PRIVATE /Ob1)
endif()
Für Vorschläge wäre ich dankbar. Ich habe versucht, die Befehle hinter einem if (MSVC)-Wrapper zu platzieren, ohne Erfolg.
Der Code im angehängten Repo kann das Problem für mich reproduzieren: https://github .com/fo000xx/cmake-intellisense-test
Ich habe versucht, die Argumente in eine if-Anweisung (MSVC) zu packen und stattdessen auf Dinge wie add_compile_options umzusteigen target_compile_options.
Ich habe den .vs-Intellisense-Cache geleert (und ein brandneues Verzeichnis zum Testen und Replizieren erstellt)