I have some little project in C/C++, here is a CmakeList file
cmake_minimum_required(VERSION 2.8)
project (xmlcppwrapper)
file(GLOB SOURCE RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp")
file(GLOB HEADER RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h")
if(CMAKE_COMPILER_IS_GNUCXX)
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fmessage-length=0 -Wall -fPIC")
set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g3 -DDEBUG")
set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3" )
endif(CMAKE_COMPILER_IS_GNUCXX)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
/usr/local/include/libxml2/
/usr/local/include/libxslt/
)
add_library(
${CMAKE_PROJECT_NAME}
${SOURCE}
)
target_link_libraries(
${CMAKE_PROJECT_NAME}
xml2
)
add_executable(
parser_h
${CMAKE_CURRENT_SOURCE_DIR}/example/main.cpp
)
target_link_libraries(
parser_h
${CMAKE_PROJECT_NAME}
)
install(FILES ${HEADER} DESTINATION include)
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION lib)
In the /usr/local/include/libxml2 and xslt folders have *.h files, and in /usr/local/lib folder libxml2.so and libxslt.so files
When I'd like to compile main.cpp
#include <iostream>
#include <fstream>
#include <cstring>
#include <xsltInternals.h>
#include <libxml2/libxml/xmlstring.h>
#include <attributes.h>
using namespace std;
int main(int argc, char* argv[]) {
xsltStylesheetPtr style = (xsltStylesheetPtr) "";//xsltParseStylesheetFile((const xmlChar *) argv[1]);
xmlNodePtr cur = (xmlNodePtr) "";
xsltParseStylesheetAttributeSet(style,cur);
return 0;
}
I got always error
undefined reference to `xsltParseStylesheetAttributeSet'
How I can fix it? What I do wrong?
Thank you