Para importar uma fonte para o projeto XCode e stdlib.h no OSX

0

Eu quero importar o código base WFDB para o XCode. A fonte é aqui .

No Eclipse, existe um comando pelo qual você pode importar uma base de código do arquivo Zip para o Eclipse. Parece que não existe tal ferramenta para códigos-C.

Tentando construir do zero no OSX

eu corro

sudo make install

Eu obtenho

cd lib;      /Applications/Xcode.app/Contents/Developer/usr/bin/make install
cp -p wfdblib.h /usr/include/wfdb; chmod 644 /usr/include/wfdb/wfdblib.h
cp -p ecgcodes.h /usr/include/wfdb
chmod 644 /usr/include/wfdb/ecgcodes.h
cp -p ecgmap.h /usr/include/wfdb
chmod 644 /usr/include/wfdb/ecgmap.h
/Applications/Xcode.app/Contents/Developer/usr/bin/make clean       # force recompilation since config may have changed
rm -f wfdbinit.o annot.o signal.o calib.o wfdbio.o libwfdb.* *.dll *~
/Applications/Xcode.app/Contents/Developer/usr/bin/make all
sed "s+DBDIR+/usr/database+" <wfdblib.h0 >wfdblib.h
gcc  -fPIC -fno-common -g -O -DWFDB_MAJOR=10 -DWFDB_MINOR=5 -DWFDB_RELEASE=22 -DNOVALUES_H 'curl-config --cflags' -I/usr/include -arch i386 -arch x86_64 -arch ppc   -c -o wfdbinit.o wfdbinit.c
In file included from wfdbinit.c:33:
In file included from ./wfdblib.h:34:
./wfdb.h:417:11: fatal error: 'stdlib.h' file not found
# include <stdlib.h>
          ^
1 error generated.
make[2]: *** [wfdbinit.o] Error 1
make[1]: *** [install] Error 2
make: *** [install] Error 2

stdlib.h não deve ser substituído unistd.h de acordo com a segunda resposta em este tópico .

eu corro

find /Applications/Xcode.app -name stdlib.h

Eu obtenho

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/c++/4.2.1/tr1/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/include/c++/4.2.1/tr1/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr/include/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/c++/4.2.1/tr1/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/tr1/stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/stdlib.h

Como você pode vincular algumas das bibliotecas ao código no OSX

Eu deveria ter todos os arquivos de cabeçalho instalados no meu OSX. Eu vejo apenas isso

    
por Léo Léopold Hertz 준영 14.12.2013 / 21:03

1 resposta

4

Você deve instalar as ferramentas da linha de comando. Execute o comando xcode-select --install . Isso instalará os cabeçalhos no local padrão do sistema /usr/include , em vez de estar apenas dentro do SDK dentro do Xcode.

Eu também não tenho certeza se você deveria estar fazendo make install . Parece estar copiando os arquivos da biblioteca em /usr/include , o que definitivamente não é sábio. Alguns programas usariam /usr/local/include etc., o que é pelo menos melhor. Se esta biblioteca tiver um script de configuração, talvez você queira especificar a opção --prefix=... . Você também pode ser capaz de substituir o diretório de instalação especificando DESTDIR=... como um argumento para make .

Tudo isso, no entanto, dependendo do seu objetivo, você pode usar a biblioteca criada sem precisar instalá-la.

    
por 14.12.2013 / 21:51