我希望有人能帮助我:我试着在jenkins服务器中使用cmake插件来创建一个十六进制文件,但我不知道自己的错。
我还尝试运行这个网站的示例:http://robot-develop.org/archives/2952但如果我使用"make"命令,我会得到以下错误消息:make:***未指定目标,也未找到makefile。停止
这是我的代码:
CMakeLists.txt:
cmake_minimum_required (VERSION 2.6.0)
INCLUDE("C:/Users/name/Desktop/example/Code/test_crosscompile.cmake")
INCLUDE("C:/Users/name/Desktop/example/Code/macro.cmake")
project (Code)
MESSAGE(STATUS "n -------------------------------->Creating Test-Projekt...")
IF( NOT CMAKE_BUILD_TYPE )
SET( CMAKE_BUILD_TYPE Release ... FORCE )
ENDIF()
SET(MAIN_FILE
class.c)
# add the executable
add_executable(Code ${MAIN_FILE})
#makro
AVR_CREATE_HEX(class)
makro.cmake:
# create avr hex
MACRO(AVR_CREATE_HEX name)
ADD_CUSTOM_COMMAND(TARGET ${name} POST_BUILD COMMAND avr-objcopy ARGS -O ihex -R.eeprom ${name} "C:/Users/name/Desktop/example/Code/class.hex")
MESSAGE(STATUS "n ----------JONAS---------------------->Macro")
ENDMACRO(AVR_CREATE_HEX)
test_croscompile.cmake:
SET(CMAKE_SYSTEM_NAME "Windows")
SET(CMAKE_C_COMPILER avr-gcc)
SET(CMAKE_CXX_COMPILER avr-g++)
SET(CSTANDARD "-std=gnu99")
SET(CDEBUG "-gstabs")
SET(CWARN "-Wall -Wstrict-prototypes")
SET(CTUNING "-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums")
SET(COPT "-Os")
SET(CMCU "-mmcu=atmega32")
SET(CDEFS "-DF_CPU=12000000UL")
SET(CFLAGS "${CMCU} ${CDEBUG} ${CDEFS} ${CINCS} ${COPT} ${CWARN} ${CSTANDARD} ${CEXTRA}")
SET(CXXFLAGS "${CMCU} ${CDEFS} ${CINCS} ${COPT}")
SET(CMAKE_C_FLAGS ${CFLAGS})
SET(CMAKE_CXX_FLAGS ${CXXFLAGS})
我使用cmake GUI,但我不知道如何使用它。我尝试作为生成器visualstudio10(指定用于交叉编译的工具链文件),但它没有生成makefile或hex文件。如果我选择MinGW Makefiles作为生成器,我会得到错误:C编译器"C:\WinAVR-20100110/bin/avr-gcc.exe"无法编译一个简单的测试程序。
我希望有人能帮我,谢谢!
您将CMAKE_SYSTEM_NAME设置为windows,您需要将其设置为generic以启用交叉编译,例如:
SET(CMAKE_SYSTEM_NAME Generic)