Hello,
I've a little problem. I began a new project where I've to use Kdevelop. So I thought it is a good idea to work with cmake-project and the posix skin to get a more commone code. I want to use RTnet for my communication. But I think that Xenomai don't use the RTnet-Driver. I got the message:
"Cannot assign requested address" from the function "ret=recvfrom(socket, &buffer, sizeof(buffer), (struct sockaddr *)&dest_addr, &sizeof(dest_addr))" I think the problem is that Xenomai use the standart recvfrom and the standart recvfrom can not recognize the realtime driver. I use the following cmake file: PROJECT(robotclient)
cmake_minimum_required(VERSION 2.8)
set(Robot_Client_VERSION_MAJOR 1)
set(Robot_Client_VERSION_MINOR 0) set(XENOMAI_SEARCH_PATH "/usr/xenomai" "/usr/local/xenomai")
find_path(${XENOMAI_DIR} "include/xeno_config.h" ${XENOMAI_SEARCH_PATH}) IF(${XENOMAI_DIR})
set(XENOMAI_INCLUDE_DIR ${XENOMAI_DIR}/include) set(XENOMAI_INCLUDE_POSIX_DIR ${XENOMAI_DIR}/include/posix) find_library(XENOMAI_LIBRARY_XENOMAI xenomai ${XENOMAI_DIR}/lib)
find_library(XENOMAI_LIBRARY_PTHREAD_RT pthread_rt ${XENOMAI_DIR}/lib) find_library(XENOMAI_LIBRARY_RTDM rtdm ${XENOMAI_DIR}/lib) find_library(XENOMAI_LIBRARY_RT rt ${XENOMAI_DIR}/lib) set(EXTRA_LIBS ${EXTRA_LIBS} ${XENOMAI_LIBRARY_XENOMAI})
set(EXTRA_LIBS ${EXTRA_LIBS} ${XENOMAI_LIBRARY_PTHREAD_RT}) set(EXTRA_LIBS ${EXTRA_LIBS} ${XENOMAI_LIBRARY_RTDM}) set(EXTRA_LIBS ${EXTRA_LIBS} ${XENOMAI_LIBRARY_RT}) find_file(XENOMAI_POSIX_WRAPPERS lib/posix.wrappers {XENOMAI_SEARCH_PATH})
set(XENOMAI_EXE_LINKER_FLAGS "-W1,@${XENOMAI_POSIX_WRAPPERS}")
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} ${XENOMAI_EXE_LINKER_FLAGS}) set(XENOMAI_DEFINITIONS "-D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__")
set(EXTRA_DEFINITIONS ${EXTRA_DEFINITIONS} ${XENOMAI_DEFINITIONS}) include_directories(${XENOMAI_DIR}/include)
include_directories(${XENOMAI_DIR}/include/posix) ENDIF(${XENOMAI_DIR}) ADD_DEFINITIONS(${EXTRA_DEFINITIONS})
ADD_EXECUTABLE(robotclient main.cpp) TARGET_LINK_LIBRARIES(robotclient ${EXTRA_LIBS}) Is there something wrong? regards, franz |