Re: [Seqan-dev] RecordReader question
Hi Manuel,
On 2011-11-23 14:28, Raymond Wan wrote:
Apparently, you are using your own build/project files, i.e. not
generated with the SeqAn build system. Note that you have to add both
"core/include" and "extras/include" to the include path.
Ah, yes. I'm adding SeqAn to my CMakeLists.txt rather than adding my
project to SeqAn's CMakeLists.txt. I figured if I start off with an
empty file, then I have an idea of what goes inside it. SeqAn's looks
great but there are a lot of cmake directives I don't quite understand.
I'm starting to have doubts about what I'm doing is a good
idea... Perhaps you can tell me what I'm doing wrong?
If I'm not mistaken, SeqAn is a header-only library (like
most of Boost). And compiling is only needed if you want to
look at the tutorials? The 1.3 Release instructions says
that I just have to move the include/ directory to the right
place.
So, I created the subdirectories:
~/common/include/seqan-core
~/common/include/seqan-extras
Inside seqan-core, I have a symlink:
seqan -> ../seqan/core/include/seqan
Likewise for seqan-extras.
In CMakeLists.txt, I did this:
INCLUDE_DIRECTORIES (~/common/include/seqan-core)
INCLUDE_DIRECTORIES (~/common/include/seqan-extras)
...I think this should work?
In my source, I did:
#include <seqan/basic.h>
#include <seqan/file/stream.h>
When I compile, I get this error:
In file included from
/home/rwan/common/include/seqan-core/seqan/platform.h:43,
from
/home/rwan/common/include/seqan-core/seqan/basic.h:39,
...
/home/rwan/common/include/seqan-core/seqan/platform/platform_gcc.h:82:56:
error: seqan/platform/platform_generated_forwards.h: No such
file or directory
/home/rwan/common/include/seqan-core/seqan/platform/platform_gcc.h:85:2:
error: #error To use the SeqAn library you first have to
execute 'make forwards' in the root directory
...
So, it found basic.h, platform.h, ... fine, but not
platform_generated_forwards.h . The error says I need to do
a 'make forwards' but:
1) I don't know what is the root directory; or, at least
one with an obvious makefile.
2) I could perform an out-of-source build and create a
build/ directory and do "cmake | make" but that didn't copy
the header files over -- moving the symlinks to this build/
directory doesn't seem to work.
I think I'm close :-) but I'm still stuck. My only
remaining idea is to do an in-source build -- such that the
stuff that is created with "make" is in the same place where
the .h files are. Is that what I need to do?
Thank you and if I'm confusing myself and should just follow
the instructions and work from SeqAn's CMakeLists.txt,
please tell me. :-)
Ray
PS: This is the SVN release. I'm not using 1.3 anymore. ;-)