libevent 编译找不到 openssl/bio.h的问题

本文记录了在Solaris系统中安装libevent过程中遇到的编译错误及解决办法,通过调整openssl的链接路径成功解决了编译问题。

最近在学习python高性能网络框架gevent, 需要先安装libevent。在solaris系统下,已经安装了openssl,并加到环境变量里面了,而且系统默认环境下的/usr/sfw/include/openssl也是有的,比较奇怪。不管怎么样,先编译过去再说,


ln -s  /usr/local/ssl/include/openssl    /usr/include/openssl  

重新make就过去了


下面是错误log:


/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I./compat -I./include -I./include    -g -O2 -Wall -fno-strict-aliasing -D_REENTRANT -pthreads -MT bufferevent_openssl.lo -MD -MP -MF .deps/bufferevent_openssl.Tpo -c -o bufferevent_openssl.lo bufferevent_openssl.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./compat -I./include -I./include -g -O2 -Wall -fno-strict-aliasing -D_REENTRANT -pthreads -MT bufferevent_openssl.lo -MD -MP -MF .deps/bufferevent_openssl.Tpo -c bufferevent_openssl.c  -fPIC -DPIC -o .libs/bufferevent_openssl.o
bufferevent_openssl.c:60:25: openssl/bio.h: No such file or directory
bufferevent_openssl.c:61:25: openssl/ssl.h: No such file or directory
bufferevent_openssl.c:62:25: openssl/err.h: No such file or directory
bufferevent_openssl.c:104: error: syntax error before '*' token

OpenWrt-libtool: compile: aarch64-openwrt-linux-musl-gcc -DHAVE_CONFIG_H -I. -I./compat -I./include -I./include -I/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/staging_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/usr/include -I/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/staging_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/include -I/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/staging_dir/usr-be68_be77/include -I/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/../sdk/mtk798x/openwrt-21.02/staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_musl/include -fpic -MT bufferevent_openssl.lo -MD -MP -MF .deps/bufferevent_openssl.Tpo -c bufferevent_openssl.c -fPIC -DPIC -o .libs/bufferevent_openssl.o bufferevent_openssl.c: In function 'bio_bufferevent_new': bufferevent_openssl.c:106:3: error: dereferencing pointer to incomplete type 'BIO' {aka 'struct bio_st'} b->init = 0; ^~ bufferevent_openssl.c: At top level: bufferevent_openssl.c:228:1: error: variable 'methods_bufferevent' has initializer but incomplete type static BIO_METHOD methods_bufferevent = { ^~~~~~ bufferevent_openssl.c:79:27: warning: excess elements in struct initializer #define BIO_TYPE_LIBEVENT 57 ^~ bufferevent_openssl.c:229:2: note: in expansion of macro 'BIO_TYPE_LIBEVENT' BIO_TYPE_LIBEVENT, "bufferevent", ^~~~~~~~~~~~~~~~~ bufferevent_openssl.c:79:27: note: (near initialization for 'methods_bufferevent') #define BIO_TYPE_LIBEVENT 57 ^~ bufferevent_openssl.c:229:2: note: in expansion of macro 'BIO_TYPE_LIBEVENT' BIO_TYPE_LIBEVENT, "bufferevent", ^~~~~~~~~~~~~~~~~ bufferevent_openssl.c:229:21: warning: excess elements in struct initializer BIO_TYPE_LIBEVENT, "bufferevent", ^~~~~~~~~~~~~ bufferevent_openssl.c:229:21: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:230:2: warning: excess elements in struct initializer bio_bufferevent_write, ^~~~~~~~~~~~~~~~~~~~~ bufferevent_openssl.c:230:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:231:2: warning: excess elements in struct initializer bio_bufferevent_read, ^~~~~~~~~~~~~~~~~~~~ bufferevent_openssl.c:231:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:232:2: warning: excess elements in struct initializer bio_bufferevent_puts, ^~~~~~~~~~~~~~~~~~~~ bufferevent_openssl.c:232:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:233:2: warning: excess elements in struct initializer NULL /* bio_bufferevent_gets */, ^~~~ bufferevent_openssl.c:233:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:234:2: warning: excess elements in struct initializer bio_bufferevent_ctrl, ^~~~~~~~~~~~~~~~~~~~ bufferevent_openssl.c:234:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:235:2: warning: excess elements in struct initializer bio_bufferevent_new, ^~~~~~~~~~~~~~~~~~~ bufferevent_openssl.c:235:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:236:2: warning: excess elements in struct initializer bio_bufferevent_free, ^~~~~~~~~~~~~~~~~~~~ bufferevent_openssl.c:236:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:237:2: warning: excess elements in struct initializer NULL /* callback_ctrl */, ^~~~ bufferevent_openssl.c:237:2: note: (near initialization for 'methods_bufferevent') bufferevent_openssl.c:228:19: error: storage size of 'methods_bufferevent' isn't known static BIO_METHOD methods_bufferevent = { ^~~~~~~~~~~~~~~~~~~ Makefile:766: recipe for target 'bufferevent_openssl.lo' failed make[6]: *** [bufferevent_openssl.lo] Error 1 make[6]: Leaving directory '/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/build_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/libevent-2.0.21-stable' Makefile:824: recipe for target 'all-recursive' failed make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory '/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/build_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/libevent-2.0.21-stable' Makefile:569: recipe for target 'all' failed make[4]: *** [all] Error 2 make[4]: Leaving directory '/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/build_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/libevent-2.0.21-stable' Makefile:153: recipe for target '/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/build_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/libevent-2.0.21-stable/.built' failed make[3]: *** [/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/build_dir/target-aarch64-openwrt-linux-uclibc-be68_be77/libevent-2.0.21-stable/.built] Error 2 make[3]: Leaving directory '/home/soho/code/be67/iplatform/board/model_mtk_mt798x/openwrt/package/libevent2' package/Makefile:13 openssl是1.1.1w,libevent2是2.0.19.怎么解决,给出详细处理方法
11-06
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Debug|Win32"> <Configuration>Debug</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Debug|x64"> <Configuration>Debug</Configuration> <Platform>x64</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|Win32"> <Configuration>Release</Configuration> <Platform>Win32</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Release|x64"> <Configuration>Release</Configuration> <Platform>x64</Platform> </ProjectConfiguration> </ItemGroup> <PropertyGroup Label="Globals"> <ProjectGuid>{64442613-7C80-4245-8330-B31089724B15}</ProjectGuid> <Keyword>Qt4VSv1.0</Keyword> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ConfigurationType>Application</ConfigurationType> <PlatformToolset>v120</PlatformToolset> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <PropertyGroup Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')"> <QtMsBuild>$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <LibraryPath>$(APPLIBS)/WinLibs/libs/wpcap/x64/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win64;$(APPLIBS)/ffmpeg/windows/lib_x64/lib;$(LibraryPath)</LibraryPath> <TargetName>P2pSub</TargetName> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> <LibraryPath>$(CORESRC)/chmonvif/probe/ipcd/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win32;$(APPLIBS)/ffmpeg/windows/lib/lib;$(LibraryPath)</LibraryPath> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> </PropertyGroup> <Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')"> <Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." /> </Target> <ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')"> <Import Project="$(QtMsBuild)\qt.props" /> </ImportGroup> <ImportGroup Label="ExtensionSettings" /> <ImportGroup Label="Shared" /> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="Windows.Utility.Qt.PropertySheet.props" /> </ImportGroup> <PropertyGroup Label="UserMacros" /> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;QT_GUI_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;_DEBUG;TPPLAYER_DECODER_MFT;TPPLAYER_DISPLAY_DXVA;QT_WEBENGINEWIDGETS_LIB;QT_WEBENGINECORE_LIB;QT_WEBCHANNEL_LIB;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <Optimization>Disabled</Optimization> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(P2PSubName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x64/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win64;$(APPLIBS)/ffmpeg/windows/lib_x64/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/x64;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/Debug/x64;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Networkd.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> <QtMoc> <Define>UNICODE;WIN32;WIN64;QT_CORE_LIB;QT_GUI_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;_DEBUG;TPPLAYER_DECODER_MFT;TPPLAYER_DISPLAY_DXVA;QT_WEBENGINEWIDGETS_LIB;QT_WEBENGINECORE_LIB;QT_WEBCHANNEL_LIB;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x64/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win64;$(APPLIBS)/ffmpeg/windows/lib_x64/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/x64;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/x64;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Network.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> <QtMoc> <Define>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> <PostBuildEvent> <Command>echo F | xcopy /Y "$(TargetPath)" "$(SolutionDir)SetupTools\SetupFiles\App\win7+_x64\$(P2PSubName).exe"</Command> </PostBuildEvent> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;_DEBUG;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <Optimization>Disabled</Optimization> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(P2PSubName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x86/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win32;$(APPLIBS)/ffmpeg/windows/lib/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/Win32;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/Debug/Win32;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Networkd.lib;%(AdditionalDependencies)</AdditionalDependencies> <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> </Link> <QtMoc> <Define>UNICODE;WIN32;WIN64;QT_CORE_LIB;_DEBUG;UAT_SHOP;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> </ItemDefinitionGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ClCompile> <MultiProcessorCompilation>true</MultiProcessorCompilation> <PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> </ClCompile> <Link> <SubSystem>Console</SubSystem> <OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile> <AdditionalLibraryDirectories>$(QTDIR)\lib;$(APPLIBS)/WinLibs/libs/wpcap/x86/lib;$(APPLIBS)/tpnclient/openssl_win32/lib;$(APPLIBS)/P2P/code/libs/libevent/libevent-2.0.21/lib/win32;$(APPLIBS)/ffmpeg/windows/lib/lib;$(CORESRC)/chmonvif/probe/onvif/gsoap/build/windows/lib/Win32;$(APPLIBS)/P2P/code/libs/udt/udt-4.0.0/build/windows/lib/Win32;$(APPLIBS)/P2P/code/libs/quicly/build/windows/lib/Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <GenerateDebugInformation>true</GenerateDebugInformation> <AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Network.lib;%(AdditionalDependencies)</AdditionalDependencies> <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers> </Link> <QtMoc> <Define>UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_NETWORK_LIB;%(PreprocessorDefinitions)</Define> <IncludePath>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName)\.;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtNetwork;$(ProjectDir)\.;$(ProjectDir)\core;$(ProjectDir)\common;$(ProjectDir)\account;$(ProjectDir)\preview;$(ProjectDir)\vippreview;$(ProjectDir)\playback;$(ProjectDir)\setting;$(CORESRC)\.;$(CORESRC)\AlertTask;$(CORESRC)\AlertManager;$(CORESRC)\cloudservice;$(CORESRC)\storagemanager;$(CORESRC)\facegallerymanager;$(CORESRC)\config;$(CORESRC)\TPIntell;$(CORESRC)\ExecutorTask;$(CORESRC)\chmonvif\probe\ipcd\include\Include\pcap;$(CORESRC)\chmonvif\probe\ipcd\include\Include;$(CORESRC)\chmonvif\probe\ipcd\include;$(CORESRC)\chmonvif\probe\onvif\include;$(CORESRC)\chmonvif\probe\include;$(APPLIBS)\.;$(APPLIBS)\audioprocessing;$(APPLIBS)\audioprocessing\app;$(APPLIBS)\audioprocessing\howlingsuppression;$(APPLIBS)\audioprocessing\NoiseSuppressionClassification;$(APPLIBS)\audioprocessing\tpvad;$(APPLIBS)\audioprocessing\watermark;$(APPLIBS)\audioprocessing\resample;$(APPLIBS)\audioprocessing\TPAudioWifiConfig;$(APPLIBS)\h264parse;$(APPLIBS)\h265parse;$(APPLIBS)\mp4demux;$(APPLIBS)\mp4mux;$(APPLIBS)\P2P\code\common;$(APPLIBS)\P2P\code\common\stun;$(APPLIBS)\P2P\code\common\cloud-protocol;$(APPLIBS)\P2P\code\P2P;$(APPLIBS)\P2P\code\libs\udt\udt-4.0.0\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include;$(APPLIBS)\P2P\code\libs\libevent\libevent-2.0.21\include_win32;$(APPLIBS)\P2P\code\libs\quicly\lib;$(APPLIBS)\P2P\code\libs\quicly\include;$(APPLIBS)\P2P\code\libs\upnp\miniupnpc;$(APPLIBS)\rtspclient;$(APPLIBS)\TPAlbum;$(APPLIBS)\TPFileCache;$(APPLIBS)\TPFileManager;$(APPLIBS)\tpnclient;$(APPLIBS)\tpnclient\openssl_win32;$(APPLIBS)\tpnserver;$(APPLIBS)\TPNVRAM;$(APPLIBS)\TPPlayer;$(APPLIBS)\TPPlayerGLProgram;$(APPLIBS)\tprtspserver;$(APPLIBS)\TPSqlite;$(APPLIBS)\TPStringResource\src;$(APPLIBS)\TPProcess;$(APPLIBS)\TPThread;$(APPLIBS)\tpwcomm;$(APPLIBS)\tpwcomm\config;$(APPLIBS)\TPWFile;$(APPLIBS)\TPWNVR;$(APPLIBS)\tsdemux;$(APPLIBS)\csdemux;$(APPLIBS)\tsmux;$(APPLIBS)\rtpdemux;$(APPLIBS)\rtpmux;$(APPLIBS)\util;$(APPLIBS)\tpdownloader;$(APPLIBS)\TPHeatMapGenerator;$(APPLIBS)\TPThumbnailGenerator;$(APPLIBS)\ffmpeg\windows\lib\include;$(APPLIBS)\WinLibs\qt;$(APPLIBS)\WinLibs\common;$(APPLIBS)\WinLibs\TPMediaKit\TPMediaPlayer;$(APPLIBS)\WinLibs\TPMediaKit\TPDirectSound;$(APPLIBS)\WinLibs\TPMediaKit\TPDisplay;$(APPLIBS)\WinLibs\TPMediaKit\TPDecoder;$(APPLIBS)\WinLibs\TPMediaKit\TPFormat;$(APPLIBS)\reedSolomonCodec;$(APPLIBS)\mfec;$(APPLIBS)\TPDiscoveryService;$(APPLIBS)\videoprocessing;$(APPLIBS)\TPDataStatistics;$(APPLIBS)\QRCodeGenerator;$(VC_IncludePath)\.;$(WindowsSDK_IncludePath)\.;$(IncludePath)\.</IncludePath> <OutputFile>.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</OutputFile> <ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription> </QtMoc> <PostBuildEvent> <Command>echo F | xcopy /Y "$(TargetPath)" "$(SolutionDir)SetupTools\SetupFiles\App\win7+_x86\$(P2PSubName).exe"</Command> </PostBuildEvent> </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\..\..\..\app-libs\h264parse\h264parse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\base64.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\cloud-protocol\cloud_imp_ipc.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\evaddrinfo.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\hole_punch.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\stun\stun.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\stun\stun_async.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\stun\TPP2PStunClient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\udp_punch.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\common\udp_quic.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\api.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\buffer.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\cache.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\ccc.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\channel.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\common.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\core.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\epoll.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\list.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\md5.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\packet.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\queue.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\window.cpp" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\connecthostport.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\igd_desc_parse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\minisoap.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\miniupnpc.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\miniwget.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\minixml.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\portlistingparse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\receivedata.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\upnpcommands.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\upnperrors.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\libs\upnp\miniupnpc\upnpreplyparse.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_config.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_connection_build.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_device.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_feedback.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_relay.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_stun.c" /> <ClCompile Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_upnp.c" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\authentication.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tphostinfo.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tphttpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tphttpsclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpicmpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpsslclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpsslmanager.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tptcpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\tpnclient\tpudpclient.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\AsynLocalServer.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\AsynLocalSocket.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\ProcessManager.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPProcess\TPLocalServer.cpp" /> <ClCompile Include="..\..\..\..\app-libs\TPWFile\TPWFile.c" /> <ClCompile Include="..\..\..\..\app-libs\util\bitstream.c" /> <ClCompile Include="..\..\..\..\app-libs\util\bytearray.c" /> <ClCompile Include="..\..\..\..\app-libs\util\cJSON.c" /> <ClCompile Include="..\..\..\..\app-libs\util\esbuffer.c" /> <ClCompile Include="..\..\..\..\app-libs\util\hardwarecapacity.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\mbasicop.c" /> <ClCompile Include="..\..\..\..\app-libs\util\sysbuffer.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpaescrypt.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpcirbuffer.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpcoding.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpconditionvariable.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tphmacsha1crypt.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tplog.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmap.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmath.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmatrix.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmd5.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmessage.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpmutex.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpnetwork.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tppacketqueue.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tprbtree.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tprsacrypt.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpsequencenumber.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpsequencenumbercplusplus.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpsha1crypt.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpstring.c" /> <ClCompile Include="..\..\..\..\app-libs\util\TPStringUtils.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpthread.c" /> <ClCompile Include="..\..\..\..\app-libs\util\TPThreadClass.cpp" /> <ClCompile Include="..\..\..\..\app-libs\util\tpthreadpool.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tptime.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tptools.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tputils.c" /> <ClCompile Include="..\..\..\..\app-libs\util\tpwlog.c" /> <ClCompile Include="..\..\..\..\app-libs\WinLibs\Common\WinCrashLog.cpp" /> <ClCompile Include="..\..\..\..\app-libs\WinLibs\Common\WindowsUtils.cpp" /> <ClCompile Include="main.cpp" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\..\..\app-libs\h264parse\h264parse.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\base64.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\cloud-protocol\cldProtocol.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\cloud-protocol\cloud.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\evaddrinfo.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\hole_punch.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\platform.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\stun\stun.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\stun\stunone.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\udp_punch.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\common\udp_quic.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\aes.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\khash.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\picotls.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\picotls\cyassl.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\picotls\pembase64.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\cc.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\constants.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\defaults.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\frame.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\linklist.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\loss.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\maxsender.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\ranges.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\recvstate.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\sendstate.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\sentmap.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\quicly\streambuf.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\rijndael\rijndael-alg-fst.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\rijndael\rijndael-api-fst.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\quicly\include\wincompat.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\api.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\buffer.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\cache.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\ccc.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\channel.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\common.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\core.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\epoll.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\list.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\md5.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\packet.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\queue.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\udt.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\udt_c.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\libs\udt\udt-4.0.0\src\src\window.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_connection_build.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_device.h" /> <ClInclude Include="..\..\..\..\app-libs\P2P\code\P2P\p2p_internal.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\authentication.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\aes.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\asn1.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\asn1t.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\asn1_mac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\bio.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\blowfish.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\bn.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\buffer.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\camellia.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\cast.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\cmac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\cms.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\comp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\conf.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\conf_api.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\crypto.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\des.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\des_old.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dh.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dsa.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dso.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\dtls1.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ebcdic.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ec.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ecdh.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ecdsa.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\engine.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\err.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\evp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\e_os2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\hmac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\idea.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\krb5_asn.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\kssl.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\lhash.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\md4.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\md5.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\mdc2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\modes.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\objects.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\obj_mac.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ocsp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\opensslconf.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\opensslv.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ossl_typ.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pem.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pem2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pkcs12.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pkcs7.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\pqueue.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rand.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rc2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rc4.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ripemd.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\rsa.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\safestack.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\seed.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\sha.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\srp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\srtp.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl2.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl23.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ssl3.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\stack.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\symhacks.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\tls1.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ts.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\txt_db.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ui.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\ui_compat.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\whrlpool.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\x509.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\x509v3.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\openssl_win32\openssl\x509_vfy.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpglobalsharedopensslpilot.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tphostinfo.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tphttpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tphttpsclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpicmpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpsslcertificate.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpsslclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpsslmanager.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tptcpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\tpnclient\tpudpclient.h" /> <ClInclude Include="..\..\..\..\app-libs\TPWFile\TPWFile.h" /> <ClInclude Include="..\..\..\..\app-libs\util\bitstream.h" /> <ClInclude Include="..\..\..\..\app-libs\util\bytearray.h" /> <ClInclude Include="..\..\..\..\app-libs\util\cJSON.h" /> <ClInclude Include="..\..\..\..\app-libs\util\esbuffer.h" /> <ClInclude Include="..\..\..\..\app-libs\util\hardwarecapacity.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mbasicop.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mbuffercommon.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mediainfo.h" /> <ClInclude Include="..\..\..\..\app-libs\util\mpegts.h" /> <ClInclude Include="..\..\..\..\app-libs\util\sysbuffer.h" /> <ClInclude Include="..\..\..\..\app-libs\util\TPArrayList.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpcoding.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpconditionvariable.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tphmacsha1crypt.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tplog.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmap.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmath.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmd5.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmessage.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpmutex.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpnetwork.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tppacketqueue.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tprbtree.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tprsacrypt.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpsequencenumber.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpsequencenumbercplusplus.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpsha1crypt.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpstring.h" /> <ClInclude Include="..\..\..\..\app-libs\util\TPStringUtils.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpthread.h" /> <ClInclude Include="..\..\..\..\app-libs\util\TPThreadClass.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpthreadpool.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tptime.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tptools.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tputils.h" /> <ClInclude Include="..\..\..\..\app-libs\util\tpwlog.h" /> <ClInclude Include="..\..\..\..\app-libs\WinLibs\Common\WinCrashLog.h" /> <ClInclude Include="..\..\..\..\app-libs\WinLibs\Common\WindowsUtils.h" /> <QtMoc Include="..\..\..\..\app-libs\TPProcess\TPLocalServer.h" /> <QtMoc Include="..\..\..\..\app-libs\TPProcess\ProcessManager.h" /> <ClInclude Include="..\..\..\..\app-libs\TPProcess\AsynLocalSocket.h" /> <QtMoc Include="..\..\..\..\app-libs\TPProcess\AsynLocalServer.h" /> <ClInclude Include="..\..\..\..\app-libs\TPProcess\LocalIPCDefines.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')"> <Import Project="$(QtMsBuild)\qt.targets" /> </ImportGroup> <ImportGroup Label="ExtensionTargets"> </ImportGroup> <ProjectExtensions> <VisualStudio> <UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_Win32="msvc2013" Qt5Version_x0020_x64="msvc2013_64" MocOptions="" /> </VisualStudio> </ProjectExtensions> </Project> 请你根据上面的内容,告诉我该项目依赖的库及其版本?
最新发布
11-07
<think>我们正在解决编译libevent时出现的 fatal error: openssl/ssl.h: No such file or directory 问题。 根据引用[1]的描述,在编译libevent时出现了该错误,这表明系统缺少OpenSSL的开发头文件。 引用[2]中展示了一种解决方法:在配置libevent时通过CPPFLAGS和LDFLAGS指定OpenSSL的安装路径。 引用[3]则提供了一些相关的下载链接,但我们的问题集中在OpenSSL头文件的缺失。 解决方法: 1. 确认系统是否已安装OpenSSL开发包(包含头文件和库)。 2. 如果未安装,则安装OpenSSL开发包。 3. 如果已安装但不在标准路径,则在配置libevent时指定OpenSSL的路径(如引用[2]所示)。 具体步骤: 步骤1:检查OpenSSL开发包是否安装 在Ubuntu/Debian系统上,运行: sudo apt search openssl | grep dev 通常安装的是libssl-dev。 如果未安装,则安装: sudo apt update sudo apt install libssl-dev 在CentOS/RHEL系统上,运行: sudo yum install openssl-devel 步骤2:安装后,通常头文件会放在标准路径(如/usr/include/openssl/),此时重新编译libevent应该可以到。 步骤3:如果OpenSSL安装在自定义路径(如用户手动编译安装),则需要像引用[2]那样在配置libevent时指定路径: ./configure CPPFLAGS="-I/path/to/openssl/include" LDFLAGS="-L/path/to/openssl/lib -lssl -lcrypto" 注意:将`/path/to/openssl`替换为实际的OpenSSL安装路径。 举例:如果OpenSSL安装在`/usr/local/openssl`,则配置命令为: ./configure CPPFLAGS="-I/usr/local/openssl/include" LDFLAGS="-L/usr/local/openssl/lib -lssl -lcrypto" 然后进行编译和安装。 步骤4:如果步骤1中已经安装了开发包,但仍然不到头文件,可能是由于头文件不在编译器搜索路径中。可以尝试创建符号链接(不推荐,优先使用上述方法)或者设置环境变量C_INCLUDE_PATH和LIBRARY_PATH。 例如: export C_INCLUDE_PATH=/path/to/openssl/include:$C_INCLUDE_PATH export LIBRARY_PATH=/path/to/openssl/lib:$LIBRARY_PATH ./configure make 但更推荐使用步骤3的方法。 根据引用[3],我们注意到用户可能在编译FastDFS的依赖,但当前问题只与libeventOpenSSL有关。 因此,解决该错误的步骤总结为: - 安装OpenSSL开发包(首选) - 或者指定自定义OpenSSL路径(如果手动安装) 注意:安装开发包后,通常不需要指定路径,因为头文件会被放在系统默认包含路径中。 如果用户是在交叉编译(如引用[2]中host=arm-hisiv400-linux),那么需要确保目标平台的OpenSSL开发包可用,或者指定目标平台对应的OpenSSL路径。 下面我们按照上述思路给出具体回答。 </think>### 编译libevent时出现 `fatal error: openssl/ssl.h: No such file` 的解决方法 该错误表明编译系统**不到OpenSSL的头文件**,通常由以下原因导致: 1. **OpenSSL开发包未安装** 2. **头文件路径未正确配置** 3. **交叉编译环境变量缺失** --- #### 解决方法分步指南: ##### 1. 安装OpenSSL开发包(通用方案) ```bash # Debian/Ubuntu系统 sudo apt update sudo apt install libssl-dev # 安装开发头文件[^1] # CentOS/RHEL系统 sudo yum install openssl-devel # 验证头文件位置 ls /usr/include/openssl/ssl.h # 正常应显示路径 ``` ##### 2. 指定OpenSSL路径(自定义安装场景) 若OpenSSL安装在非标准路径(如`/opt/openssl`),需在编译时显式指定路径: ```bash # 配置时添加CPPFLAGS和LDFLAGS参数[^2] ./configure \ CPPFLAGS="-I/opt/openssl/include" \ LDFLAGS="-L/opt/openssl/lib -lssl -lcrypto" # 示例:引用[2]的实际应用 ./configure CPPFLAGS="-I/home/default/work/openssl/include" \ LDFLAGS="-L/home/default/work/openssl/lib" ``` ##### 3. 交叉编译解决方案(ARM等平台) ```bash # 设置工具链和OpenSSL路径[^2] export CC=arm-linux-gnueabihf-gcc export CPPFLAGS="-I/path/to/arm-openssl/include" export LDFLAGS="-L/path/to/arm-openssl/lib" # 再执行configure ./configure --host=arm-linux-gnueabihf ``` ##### 4. 修复FastDFS编译依赖(扩展场景) 若为FastDFS编译libevent,需注意版本兼容性: ```bash # 安装正确的libfastcommon版本[^3] wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz tar -zxvf V1.0.39.tar.gz cd libfastcommon-1.0.39/ ./make.sh && sudo ./make.sh install ``` --- #### 验证修复: ```bash # 清理之前的编译缓存 make distclean # 重新配置和编译 ./configure [添加所需参数] make -j$(nproc) # 检查ssl.h是否被正确包含 grep -r "openssl/ssl.h" config.log # 应显示有效路径 ``` > **关键提示**:交叉编译时需确保OpenSSL版本与目标平台兼容。若仍报错,检查`config.log`中的详细错误信息。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值