0

我试图在 Windows 的 GNUsetup 中使用 libxml2,使用带有 clang 的 Objective-C 编译。它不断给我错误:

$ make CC=clang 
This is gnustep-make 2.6.2. Type 'make print-gnustep-make-help' for help.
Making all for tool sample_app...
 Compiling file HtmlParser.m ...
In file included from HtmlParser.m:1:
./HtmlParser.h:2:9: fatal error: 'libxml/tree.h' file not found
#import <libxml/tree.h>
        ^
1 error generated.
make[3]: *** [obj/sample_app.obj/HtmlParser.m.o] Error 1
make[2]: *** [internal-tool-all_] Error 2
make[1]: *** [sample_app.all.tool.variables] Error 2
make: *** [internal-all] Error 2

文件确实存在于 :c:\GNUstep\include\libxml2\libxml\

这是我编译文件的 GNUsetup 文件

include $(GNUSTEP_MAKEFILES)/common.make



TOOL_NAME = sample_app

sample_app_HEADERS = HttpManager.h UT.h HtmlParser.h
sample_app_OBJC_FILES = main.m HttpManager.m UT.m HtmlParser.m
sample_app_RESOURCE_FILES =

include $(GNUSTEP_MAKEFILES)/tool.make

这是我的包含 libxml2 标头的文件

#import <Foundation/Foundation.h>
#import <libxml/tree.h>
#import <libxml/parser.h>
#import <libxml/HTMLparser.h>
#import <libxml/xpath.h>
#import <libxml/xpathInternals.h>

@interface HtmlParser
{
    NSString* encoding;
}


-(id)init
{
    self = [super init];
    if(self) {
        encoding = @"UTF-8";
    }

    return self;

}


-(void)ExtractInnerSiteLinks:(NSString*) PageHtml:(NSString*) url;


@end
4

1 回答 1

0

您可以尝试在 GNUmakefile 中添加更多标志,例如。

ADDITIONAL_INCLUDE_DIRS += c:\GNUstep\include\libxml2\ .. 我真的不知道如何在 Windows 上的 makefile 中指定路径..

可能是你会有链接问题,玩

ADDITIONAL_LIB_DIRS += -L*你的 dll 路径..*

ADDITIONAL_OBJC_LIBS += -lxml2

于 2013-01-13T14:18:05.343 回答