C++ 如何编译C++;使用html tidy C++;

C++ 如何编译C++;使用html tidy C++;,c++,compilation,htmltidy,C++,Compilation,Htmltidy,我从ubuntu存储库安装了tidy dev,检查了安装路径-没问题(/usr/include/tidy) 但是我找不到一个真正的标志来编译我的C++脚本,其中包含了C++的包装器TyDyx.h,从 你能帮我吗 我放在旁边的测试脚本文件名为1.cpp,tidyx.h。1.cpp内容: #include "tidyx.h" int main() { } 我试过了,但没用: $ gcc -I/usr/include/tidy 1.cpp -ltidy In file included from

我从ubuntu存储库安装了tidy dev,检查了安装路径-没问题(/usr/include/tidy)

<>但是我找不到一个真正的标志来编译我的C++脚本,其中包含了C++的包装器TyDyx.h,从

你能帮我吗

我放在旁边的测试脚本文件名为1.cpp,tidyx.h。1.cpp内容:

#include "tidyx.h"

int main()
{
}
我试过了,但没用:

$ gcc -I/usr/include/tidy 1.cpp -ltidy

In file included from 1.cpp:1:
tidyx.h: In constructor ‘Tidy::Source::Source()’:
tidyx.h:83: error: invalid conversion from ‘int (*)(ulong)’ to ‘int (*)(void*)’
tidyx.h:84: error: invalid conversion from ‘void (*)(ulong, byte)’ to ‘void (*)(void*, byte)’
tidyx.h:85: error: invalid conversion from ‘Bool (*)(ulong)’ to ‘Bool (*)(void*)’
tidyx.h:86: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h: In constructor ‘Tidy::Sink::Sink()’:
tidyx.h:123: error: invalid conversion from ‘void (*)(ulong, byte)’ to ‘void (*)(void*, byte)’
tidyx.h:124: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h: In member function ‘void Tidy::Buffer::Attach(void*, uint)’:
tidyx.h:165: error: invalid conversion from ‘void*’ to ‘byte*’
tidyx.h:165: error:   initializing argument 2 of ‘void tidyBufAttach(TidyBuffer*, byte*, uint)’
tidyx.h: In member function ‘int Tidy::Document::Create()’:
tidyx.h:496: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h:496: error:   initializing argument 2 of ‘void tidySetAppData(const _TidyDoc*, void*)’
tidyx.h: In member function ‘void Tidy::Document::SetAppData(ulong)’:
tidyx.h:511: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h:511: error:   initializing argument 2 of ‘void tidySetAppData(const _TidyDoc*, void*)’
tidyx.h: In member function ‘ulong Tidy::Document::GetAppData()’:
tidyx.h:512: error: invalid conversion from ‘void*’ to ‘ulong’

要包含头文件,需要使用
#include
预处理器指令。它将在编译器包含路径中查找头文件

如果
tidyx.h
位于
/usr/include/tidy
中,则可以将以下内容放入源文件:

#include <tidy/tidyx.h>
#include <tidyx.h>
然后告诉GCC查看
/usr/include/tidy
GCC-I/usr/include/tidy script.cpp

此时将找到标题。如果您遇到与tidy相关的其他错误(例如:一些tidy函数未定义),则需要使用GCC
-l
选项将二进制文件链接到某个库


在OP的大量编辑之后进行编辑

<>你的问题是Tydix.H./C>包含C++代码,而且你的源文件,看它的扩展,看起来是C++源文件。为了编译它,你需要一个C++编译器。使用
g++
而不是
gcc

g++ script.cpp

错误信息是什么?你可能会忘记链接整洁的库(你只包括它的标题)?谢谢,我知道。我重写了这个问题。你的意思是“g++-I/usr/include/tidy 1.cpp”@Arturgspb:请看我答案的第一部分。如果使用
#include
,则不需要使用GCC
-I
参数。如果您只是
#include
,则需要添加
-I/usr/include/tidy
作为参数。我不知道应该写什么。@Arturgspb:使用与
gcc
相同的参数,但使用
g++
命令代替它。