[Trilinos-Users] Problem running my own example with visual studio 2013
Sam Duckitt
S.J.Duckitt at tudelft.nl
Tue Sep 16 03:46:10 MDT 2014
Thanks for your reply.
When I opened my example project in visual studio I changed the solution platform from Win32 to x64 which got rid of the error, however this has been replaced with a new error:
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(381,5): warning MSB8028: The intermediate directory (x64\Debug\) contains files shared from another project (ZERO_CHECK.vcxproj). This can lead to incorrect clean and rebuild behavior.
2> main.cpp
2>main.cpp(43): fatal error C1083: Cannot open include file: 'Epetra_SerialComm.h': No such file or directory
This is probably a really silly error on my part but I'm new to Trilinos and still confused about this. As I mentioned I am just trying to run a very simplified Epetra example. Here is the code from my main.cpp file:
#include "Epetra_SerialComm.h"
#include "Epetra_Map.h"
#include "Epetra_Vector.h"
#include "Epetra_Version.h"
int main(int argc, char *argv[])
{
std::cout << Epetra_Version() << std::endl << std::endl;
Epetra_SerialComm Comm;
int NumElements = 1000;
std::cout << "NumElements = " << NumElements << std::endl;
return 0;
}
Do I need to list the header files Epetra_SerialComm.h, ... ,Epetra_Version.h in the sources part of the CMakeLists.txt file? I have tried doing this and I then get an error that it cannot open include file: Épetra_config.h.
Here is my do-configure file:
-------------------------------------------------------------------------------------------
cmake \
-D TRILINOS_PATH:FILEPATH="C:/Trilinos" \
-D CMAKE_BUILD_TYPE:STRING=DEBUG \
-D BUILD_SHARED_LIBS:BOOL=OFF \
-D CMAKE_VERBOSE_MAKEFILE:BOOL=ON \
.
-------------------------------------------------------------------------------------------
And CMakeLists.txt:
-------------------------------------------------------------------------------------------
# You need CMake version >= 2.8 to use this example.
cmake_minimum_required(VERSION 2.8)
# Your "do-configure" script that invokes CMake should set
# TRILINOS_PATH to the path to your Trilinos install.
# You do _not_ need to edit this line.
FIND_PACKAGE(Trilinos PATHS ${TRILINOS_PATH}/lib/cmake/Trilinos ${TRILINOS_PATH})
# If FIND_PACKAGE successfully found your Trilinos install, it will
# set the Boolean flag Trilinos_FOUND. The following IF statement
# fails with a FATAL_ERROR if Trilinos was not found. If it _was_
# found, it prints out the values of some Trilinos configuration
# details. You may find them useful for building your application
# that uses Trilinos.
IF(Trilinos_FOUND)
MESSAGE("\nFound Trilinos! Here are the details: ")
MESSAGE(" Trilinos_DIR = ${Trilinos_DIR}")
MESSAGE(" Trilinos_VERSION = ${Trilinos_VERSION}")
MESSAGE(" Trilinos_PACKAGE_LIST = ${Trilinos_PACKAGE_LIST}")
MESSAGE(" Trilinos_LIBRARIES = ${Trilinos_LIBRARIES}")
MESSAGE(" Trilinos_INCLUDE_DIRS = ${Trilinos_INCLUDE_DIRS}")
MESSAGE(" Trilinos_TPL_LIST = ${Trilinos_TPL_LIST}")
MESSAGE(" Trilinos_TPL_INCLUDE_DIRS = ${Trilinos_TPL_INCLUDE_DIRS}")
MESSAGE(" Trilinos_TPL_LIBRARIES = ${Trilinos_TPL_LIBRARIES}")
MESSAGE(" Trilinos_BUILD_SHARED_LIBS = ${Trilinos_BUILD_SHARED_LIBS}")
MESSAGE(" Trilinos_CXX_COMPILER = ${Trilinos_CXX_COMPILER}")
MESSAGE(" Trilinos_C_COMPILER = ${Trilinos_C_COMPILER}")
MESSAGE(" Trilinos_Fortran_COMPILER = ${Trilinos_Fortran_COMPILER}")
MESSAGE(" Trilinos_CXX_COMPILER_FLAGS = ${Trilinos_CXX_COMPILER_FLAGS}")
MESSAGE(" Trilinos_C_COMPILER_FLAGS = ${Trilinos_C_COMPILER_FLAGS}")
MESSAGE(" Trilinos_Fortran_COMPILER_FLAGS =
${Trilinos_Fortran_COMPILER_FLAGS}")
MESSAGE(" Trilinos_LINKER = ${Trilinos_LINKER}")
MESSAGE(" Trilinos_EXTRA_LD_FLAGS = ${Trilinos_EXTRA_LD_FLAGS}")
MESSAGE(" Trilinos_AR = ${Trilinos_AR}")
MESSAGE("End of Trilinos details\n")
ELSE()
MESSAGE(FATAL_ERROR "Could not find Trilinos!")
ENDIF()
# If you haven't already set the C++ compiler, use the same compiler
# that was used to build Trilinos on your machine. You do _not_ need
# to edit this line.
IF(NOT CMAKE_CXX_COMPILER)
MESSAGE("Setting CXX compiler.")
SET(CMAKE_CXX_COMPILER ${Trilinos_CXX_COMPILER})
ENDIF()
# If you haven't already set the C compiler, use the same compiler
# that was used to build Trilinos on your machine. You do _not_
# need to edit this line.
IF(NOT CMAKE_C_COMPILER)
MESSAGE("Setting C compiler.")
SET(CMAKE_C_COMPILER ${Trilinos_C_COMPILER})
ENDIF()
#
# EDIT HERE: Replace TrilinosExample with your project's name.
#
project(trilinosExample)
#
# EDIT HERE:
#
# Source file(s) in your project. Here, we include one source file,
# main.cpp, which contains the main() function. You may also want to
# set HEADERS to the list of header files in your project, if there
# are any.
#
set(SOURCES
main.cpp
)
#
# EDIT HERE:
#
# Add to the header include path the current directory, Trilinos'
# include directory, and the include directories of the third-party
# libraries (TPLs) with which Trilinos was built.
#
include_directories(".")
include_directories(${Trilinos_INCLUDE_DIRS})
include_directories(C:/Trilinos/include)
include_directories(${Trilinos_TPL_INCLUDE_DIRS})
# Add to the library path Trilinos' library path, and the library
# paths of the third-party libraries (TPLs) with which Trilinos was
# built.
link_directories(${Trilinos_LIBRARY_DIRS})
link_directories(C:/Trilinos/lib)
link_directories(C:/Users/sam.ALE/lib/lapack)
link_directories(C:/Users/sam.ALE/lib/libblas)
link_directories(${Trilinos_TPL_LIBRARY_DIRS})
#
# EDIT HERE: Change trilinosExample to the name of the executable
# file that you want to build. This line tells CMake which source
# file(s) to use to build the executable.
#
add_executable(trilinosExample ${SOURCES})
#
# EDIT HERE: Change trilinosExample to the name of the executable
# file, as above. This line tells the linker to link the executable
# with the Trilinos libraries, and with the third-party libraries
# (TPLs) with which Trilinos was built.
#
target_link_libraries(trilinosExample
${Trilinos_LIBRARIES}
${Trilinos_TPL_LIBRARIES}
)
-------------------------------------------------------------------------------------------
Sorry if I have made a stupid mistake somewhere but I'm finding this very confusing. Any help would be greatly appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20140916/ea2b55a1/attachment.html>
More information about the Trilinos-Users
mailing list