Genellikle PHP'de kod yazıyor ve Visual Studio ve C'ye yeni bir giriş yapıyorum - http://www.codeguru.com/cpp/data/data-misc/xml/article.php/c14893/Libxml2-Everything-You-Need-in-an-XML-Library.htm - üç dosya indirdim - libxml, iconv, zlib. Diyor ki, iconv ve zlib libxml2 için bağımlılıklar.Visual Studio 2015 neden iconv.h, libxml2 dosya bağımlılığını bulamadı?
Benim kod aşağıda:
benim indirilen pakette#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
static void print_element_names(xmlNode * a_node)
{
xmlNode *cur_node = NULL;
for (cur_node = a_node; cur_node; cur_node = cur_node->next) {
if (cur_node->type == XML_ELEMENT_NODE) {
printf("node type: Element, name: %s\n",
cur_node->name);
}
print_element_names(cur_node->children);
}
}
int main(int argc, char **argv)
{
xmlDoc *doc = NULL;
xmlNode *root_element = NULL;
if (argc != 2) return(1);
LIBXML_TEST_VERSION // Macro to check API for match with
// the DLL we are using
/*parse the file and get the DOM */
if (doc = xmlReadFile("http://www.w3schools.com/xml/note.xml", NULL, 0)) == NULL){
printf("error: could not parse file %s\n", argv[1]);
exit(-1);
}
/*Get the root element node */
root_element = xmlDocGetRootElement(doc);
print_element_names(root_element);
xmlFreeDoc(doc); // free document
xmlCleanupParser(); // Free globals
return 0;
}
, ben klasörler - iconv-1.9.2.win32, libxml2-2.7.8.win32, zlib-1.2.5.win32. - workspace\libxml\libxml2-2.7.8.win32\libxml2-2.7.8.win32\include
Project > Properties > C/C++->General > Additional Include Directories
: -Yukarıda indirilen buradan [Tüm bu klasörleri
workspace\libxml
klasörünün içindeki yan yana yatarken] ftp://ftp.zlatkovic.com/libxml/ben Proje Özellikleri aşağıdaki yolu girmiş
Project > Properties > Linker > General > Additional Library Directories
-workspace\libxml\iconv-1.9.2.win32\iconv-1.9.2.win32\include
zlib
klasör yolunu nereye koyacağımı bilmiyorum. (İlk soru) Ben şu hataları Visual Studio Professional 2015 (Windows 8, 64 bit) çözümü inşa var: değil açık kaynak dosyası "iconv.h"
can
C1083 Can not 'iconv.h': açık dosya eklemek böyle bir dosya veya dizin
GTK: benim yarattığım: Dosya> Proje> VC++> Boş Project
My que stiller şunlardır:
Her üç klasörden (indirilen paketten) belirli bir yolu nereye koymalıyım?
Tek başına bir uygulama oluşturmalıyım, bu yüzden libxml2 Dll'yi statik olarak bağlamak zorundayım, doğru mu gidiyorum?
#include 'yerine" #include "dosyasını kullanın. Henüz temel bilgileri bilmiyorsanız asla boş bir proje ile başlamayın. –
@HansPassant Ne önerdiğini denedim, bu hiç farketmedi. Problem '# include' ifadeleri değil,' 'include' 'dosyasındaki dosyalardan birinde' iconv.h' dosyasını bulamadığı için 'Project Properties' ve 'Project Properties' problemlerinin olması gerekir. –
"iconv.h" nerede bulunur? Windows Arama ile aramayı deneyin. Büyük olasılıkla ek başlık dosyalarınıza "workspace \ libxml \ iconv-1.9.2.win32 \ iconv-1.9.2.win32 \ include" yolunu eklemeniz gerekecektir. Ek kütüphaneler, yolları çeşitli * .lib dosyalarına yerleştirdiğiniz yerdir. – thurizas