CMake : 프로그램을 연속으로 두 번 컴파일

CpCd0y

많은 자동 최적화를 수행하려면 -fprofile-generate먼저 플래그를 사용하여 프로그램을 컴파일 한 다음 실행하여 프로필을 생성 한 다음 -fprofile-use대신 프로그램을 다시 컴파일 할 수 있기를 원합니다 .

즉, CMAKE_CXX_FLAGS매번 두 가지씩 프로그램을 연속으로 두 번 컴파일하고 싶습니다 .

CMake를 사용하여 어떻게 할 수 있습니까?

파티

고객 대상과 "add_dependencies"명령을 사용하여 무언가를 빌드 한 다음 실행 한 다음 실행 후 다른 것을 빌드 할 수 있습니다. gcov 케이스의 경우 다음과 같이 할 수 있습니다.

profile.cxx

#include <iostream>
int main(void) {
    std::cout << "Hello from Generating Profile run" << std::endl;
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.1 FATAL_ERROR)

project(profileExample C CXX)

# compile initial program
add_executable(profileGenerate profile.cxx)
set_target_properties(profileGenerate PROPERTIES COMPILE_FLAGS "-fprofile-
generate")
target_link_libraries(profileGenerate gcov)

add_executable(profileUse profile.cxx)
set_target_properties(profileUse PROPERTIES COMPILE_FLAGS "-fprofile-use")
target_link_libraries(profileUse gcov)

# custom target to run program
add_custom_target(profileGenerate_run
    COMMAND profileGenerate
    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
    COMMENT "run Profile Generate"
    SOURCES profile.cxx
    )

#create depency for profileUse on profileGenerate_run
add_dependencies(profileUse profileGenerate_run)

빌드-> 실행-> 빌드를 보여주는 출력

빌드 출력

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

java_options의 두 번째 스프링 프로파일

Go에서 테스트 프로그램을 컴파일 할 수 없습니다.

Blueimp의 jQuery-File-Upload 두 번째 파일 업로드 문제

LLVM : C ++ 프로그램 교차 컴파일 방법

C ++ 프로그램의 출력을 다른 프로그램으로 파이프

Cmake로 Android 용 libgcrypt 및 libgpgerror 컴파일

ac 및 lua 프로그램을 단일 실행 파일로 컴파일

연속으로 두 번째로 높은 값을 얻으려면 어떻게해야합니까?

이 프로그램을 컴파일하면 컴퓨터가 어떻게 채워 집니까?

프로그램은 첫 번째 및 두 번째 실행에 대해 다르게 실행됩니다. 왜?

Chrome 확장 프로그램의 Wasm 모듈 컴파일 오류

간단한 녹 프로그램을 컴파일 할 수 없습니다.

Windows 스케줄러에서 수동으로 시작한 프로그램이 두 번 실행됩니다.

파이썬의 각 줄에 대한 선행 번호를 기반으로 두 파일을 결합하는 방법

Javascript를 통해 일부 프로그램을 클릭하여 두 "div"의 색상을 변경합니다.

타이머 두 번만 작동, C # 콘솔 응용 프로그램

출력을 인쇄하기 전에 내 프로그램이 두 번 반복됩니다.

원격으로 컴퓨터를 두 번 재부팅

MSI가 동일한 버전의 응용 프로그램을 여러 번 설치 했습니까?

높이와 일련 번호를 수집하고 maxq min을 출력하는 프로그램을 프로그래밍해야합니다.

Windows 프로그램의 이메일 / 비밀번호 조합을 저장하는 방법은 무엇입니까?

Python 스크립트에서 C ++ 프로그램을 컴파일하기 위해 하위 프로세스 사용

SConscript에서 방금 컴파일 한 프로그램을 실행하는 방법

Spark DataFrames로 파일을 두 번 처리하는 것을 방지하는 방법

CMake 컴파일러 독립 플래그

컴파일 옵션을 타겟에서 Cmake의 다른 모든 것으로 전파하는 방법

두 번째로 두 번째 루프에 들어 가지 않는 프로그램

온라인 컴파일러-입력을 기다릴 때 프로그램을 가로 채 자동으로 입력

Makefile의 헤더 파일로 Pybind 컴파일 (cmake를 사용하지 않음)

TOP Lista

CalienteEtiquetas

Archivo