Re: [Seqan-dev] i am lost again
The offending line is:
> std::ifstream fasta(options.inFile,
> std::ios_base::in | std::ios_base::binary);
The ifstream from the STL does not know about SeqAn Strings (which is the type of options.inFile).
Try this instead:
std::ifstream fasta(toCString(options.inFile), std::ios_base::in | std::ios_base::binary);
Am 26.09.2011 um 16:30 schrieb Bernd Jagla:
> Sorry for these naive questions...
>
> I am running into problems with a simple program to read in fastq data.
> I am trying to use the samples/demos that you provide...
>
> In short I am getting the following error message:
>
> make readCleansing
> Building file: ../src/readCleansing.cpp
> Invoking: GCC C++ Compiler
> g++ -DSEQAN_ENABLE_DEBUG=1 -DSEQAN_HAS_ZLIB=1
> -I/pasteur/solexa2/solexa_travail/PF2/programs/seqan/seqsan-svn/core/include
> -I/pasteur/solexa2/solexa_travail/PF2/programs/seqan/seqsan-svn/extras/include
> -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/readCleansing.d"
> -MT"src/readCleansing.d" -o "src/readCleansing.o" "../src/readCleansing.cpp"
> ../src/readCleansing.cpp: In function ‘int main(int, const char**)’:
> ../src/readCleansing.cpp:299: error: no matching function for call to
> ‘std::basic_ifstream<char, std::char_traits<char>
>> ::basic_ifstream(seqan::CharString&, std::_Ios_Openmode)’
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/fstream:442:
> note: candidates are: std::basic_ifstream<_CharT,
> _Traits>::basic_ifstream(const char*, std::_Ios_Openmode) [with _CharT =
> char, _Traits = std::char_traits<char>]
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/fstream:428:
> note: std::basic_ifstream<_CharT, _Traits>::basic_ifstream() [with
> _CharT = char, _Traits = std::char_traits<char>]
> /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/iosfwd:89:
> note: std::basic_ifstream<char, std::char_traits<char>
>> ::basic_ifstream(const std::basic_ifstream<char,
> std::char_traits<char> >&)
> make: *** [src/readCleansing.o] Error 1
>
> The offending code looks like this:
>
> std::ifstream fasta(options.inFile,
> std::ios_base::in | std::ios_base::binary);
> if (!fasta.good())
> return 1;
> RecordReader<std::ifstream, SinglePass<> > reader(fasta);
>
>
> I have tried to exchange fasta with fastq, but though I believe that is
> what I really want it is not the real problem...
>
> As I am a novice to C++ and I appologize for the naive questions...
>
> Please let me know if you need further information for identifying the
> problem...
>
> PS. Other programs compile correctly
>
> Thanks,
>
> Bernd
>
>
>
>
> _______________________________________________
> seqan-dev mailing list
> seqan-dev@lists.fu-berlin.de
> https://lists.fu-berlin.de/listinfo/seqan-dev