Compilación de partes del código del festival escritos en C ++ en un programa C ++ independiente

StackOverflow https://stackoverflow.com/questions/8925118

  •  30-10-2019
  •  | 
  •  

Pregunta

Estoy tratando de usar partes selectivas del Festival código (escrito en C ++) e intentando usarlos en mi cuenta C++ programas. Tenga en cuenta que esta pregunta no se trata de usar la API del festival sino de las funciones dentro Festival que se puede usar directamente.

El programa que escribí toma en un C++ estilo string e intenta inicializar un objeto de tipo EST_String (Una implementación interna de la clase de cadena en el festival). Luego intento imprimir el objeto.

El código que tengo:

/*EST_String is a string implementation for the festival project.
 * This program simply takes in a C++-style string and returns an EST_String. 
 * This program is being used to test for makefiles etc.
 */

#include <iostream>
#include <EST_String.h>
#include <string>
#include <cstdlib>
using namespace std;

int main(int argc, char *argv[]) {

  if(argc != 2) {
    cout << "Correct usage: <binary> <string>" << endl;
    exit(5);
  }

  string word(argv[1]);
  EST_String e(word.c_str());  //init EST_String.

  cout << "C++ String = " << word << endl;
  cout << "EST_String = ";
  cout << e;

  return 0;
}  

Estoy tratando de compilarlo (desde la línea de comandos directamente (sin makefile en la actualidad)) como así:

g++ -I../../speech_tools/include -I../../speech_tools/base_class/string -L../../speech_tools/lib/ -lestbase -lncurses -lasound -leststring -lestools usingESTString.C -o usingESTString  

El error que recibo es:

/tmp/cczyGTfm.o: In function `main':
usingESTString.C:(.text+0x91): undefined reference to `EST_String::EST_String(char const*)'
/tmp/cczyGTfm.o: In function `EST_Chunk::operator--()':
usingESTString.C:(.text._ZN9EST_ChunkmmEv[EST_Chunk::operator--()]+0x3e): undefined reference to `EST_Chunk::~EST_Chunk()'
usingESTString.C:(.text._ZN9EST_ChunkmmEv[EST_Chunk::operator--()]+0x49): undefined reference to `EST_Chunk::operator delete(void*)'
collect2: ld returned 1 exit status  

¿Cómo puedo hacer que el código se compile correctamente? ¿Dónde me voy a equivocar?

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top