Vs2012在Linux开发中的应用(10): 参数转换

来源:互联网 发布:日程提醒软件app 编辑:程序博客网 时间:2024/05/29 13:20

快乐虾

http://blog.csdn.net/lights_joy/

欢迎转载,但请保留作者信息

下面给出从VC的工程配置到gcc参数的对应关系:

1.1    常规选项卡

Vs2012

Gcc

$(OutDir)

输出目录

目标文件的生成路径

$(IntDir)

中间目录

Obj文件的存放路径,和VS一样,所有OBJ文件都放在同一个目录下,因此在项目中不可以存在同名文件,即使这两个文件不在同一个目录也不行。

$(TargetName)

目标文件名

输出的目标文件名

目标文件扩展名

根据项目类型使用.so或者.a

$( ExtensionsToDeleteOnClean)

清除时要删除的扩展名

清除时要删除的扩展名,清除时可以据此删除文件

$( ConfigurationType)

配置类型

DynamicLibrary:生成动态库,.so

Application:生成应用程序

StaticLibrary:静态库,.a

 

 

 

 

 

 

 

1.2    C/C++编译选项卡

下面是vs2012中的编译属性列表:

1>  ProcessFile:..\..\app\defaults\defaults_dvs.c

1>  Name = RuntimeLibrary && Value =MultiThreadedDebugDll

1>  Name = BasicRuntimeChecks && Value =EnableFastChecks

1>  Name = Optimization && Value =Disabled

1>  Name = MinimalRebuild && Value = true

1>  Name = AssemblerOutput && Value =NoListing

1>  Name = AssemblerListingLocation &&Value = obj\

1>  Name = AcceptableNonZeroExitCodes &&Value =

1>  Name = UndefineAllPreprocessorDefinitions&& Value = false

1>  Name = BrowseInformation && Value =false

1>  Name = BrowseInformationFile && Value= obj\

1>  Name = CompileAs && Value = Default

1>  Name = DisableLanguageExtensions &&Value = false

1>  Name = ErrorReporting && Value =Prompt

1>  Name = ExpandAttributedSource &&Value = false

1>  Name = ExceptionHandling && Value =Sync

1>  Name = EnableFiberSafeOptimizations&& Value = false

1>  Name = EnableEnhancedInstructionSet&& Value = NotSet

1>  Name = FloatingPointModel && Value =Precise

1>  Name = ForceConformanceInForLoopScope&& Value = true

1>  Name = ForcedIncludeFiles && Value =F:\projects\src\nvs_dev\src\ipc\vs_app\defaults\\prefix.h

1>  Name = ForcedUsingFiles && Value =

1>  Name = GenerateXMLDocumentationFiles&& Value = false

1>  Name = InlineFunctionExpansion &&Value = Default

1>  Name = IntrinsicFunctions && Value =false

1> Name = IgnoreStandardIncludePath&& Value = false

1>  Name = OmitDefaultLibName && Value =false

1>  Name = FavorSizeOrSpeed && Value =Neither

1>  Name = WholeProgramOptimization &&Value = false

1>  Name = ObjectFileName && Value = obj\

1>  Name = CallingConvention && Value =Cdecl

1>  Name = ProgramDataBaseFileName &&Value = obj\vc110.pdb

1>  Name = PrecompiledHeader && Value =NotUsing

1>  Name = PrecompiledHeaderFile && Value= stdafx.h

1>  Name = PrecompiledHeaderOutputFile &&Value = obj\defaults.pch

1>  Name = PreprocessToFile && Value =false

1>  Name = PreprocessKeepComments &&Value = false

1>  Name = PreprocessSuppressLineNumbers&& Value = false

1>  Name = ShowIncludes && Value = false

1>  Name = SuppressStartupBanner && Value= true

1>  Name = BufferSecurityCheck && Value =true

1>  Name = StructMemberAlignment && Value= Default

1>  Name = SmallerTypeCheck && Value =false

1>  Name = TrackerLogDirectory && Value =obj\

1>  Name = MinimalRebuildFromTracking &&Value = true

1>  Name = TreatWarningAsError && Value =false

1>  Name = TreatWChar_tAsBuiltInType &&Value = true

1>  Name = UseFullPaths && Value = false

1>  Name = WarningLevel && Value = Level3

1>  Name = XMLDocumentationFileName &&Value = obj\

1>  Name = DebugInformationFormat &&Value = ProgramDatabase

1>  Name = PreprocessorDefinitions &&Value = DVS=1;_WINDLL;_MBCS;

1>  Name = EnablePREfast && Value = false

1>  Name = OmitFramePointers && Value =false

1>  Name = AdditionalIncludeDirectories&& Value = ..\..\app\rc;..\..\..\;

1>  Name = LinkCompiled && Value = true

1>  Name = LibCompiled && Value =

1>  Name = ImpLibCompiled && Value =

1>  Name = FullPath && Value =F:\projects\src\nvs_dev\src\ipc\app\defaults\defaults_dvs.c

1>  Name = RootDir && Value = F:\

1>  Name = Filename && Value =defaults_dvs

1>  Name = Extension && Value = .c

1>  Name = Directory && Value =projects\src\nvs_dev\src\ipc\app\defaults\

1>  Name = RecursiveDir && Value =

1>  Name = Identity && Value =..\..\app\defaults\defaults_dvs.c

1>  Name = ModifiedTime && Value =2014-08-28 13:05:23.8379195

1>  Name = CreatedTime && Value =2014-11-14 17:01:34.6390909

1>  Name = AccessedTime && Value =2014-11-14 17:01:34.6390909

 

Vs2012

Gcc

$( AdditionalIncludeDirectories)

附加包含目录

每一个路径对应 -I 参数

$( PreprocessorDefinitions)

宏定义

每一个定义对应一个 -D 参数

$( ExcludedFromBuild)

从生成中排除

如果值为true,则不参与生成。

$( RelativeDir)

源文件相对于项目文件的路径

使用此路径

$( Filename)

不带扩展名的文件名

沿用

$( Identity)

使用相对路径的文件名

沿用

$(WarningLevel)

警告等级

TurnOffAllWarnings:对应于-w,关闭所有警告

Level1:未用,相当于未设置

Level2:未用,相当于未设置

Level3:未用,相当于未设置

Level4:未用,相当于未设置

EnableAllWarnings:对应于-wall,启用所有警告(部分编译器不识别)

$( TreatWarningAsError)

将警告视为错误

True:对应于-werror(部分交叉编译器不识别)

False:不使用-werror

$( Optimization)

优化

Disabled:对应于-O0

MinSpace:使大小最小化,对应于-Os

MaxSpeed:速度最大化,对应于-O2

Full:完全优化,对应于-O3

$( AdditionalOptions)

命令行

附加的编译参数,将原样写入gcc的命令行中。

$( DebugInformationFormat)

None:不写入-g

其它值:加上-g3

 

1.3    链接选项

下面是vs2012中的链接项属性列表:

1>  name = AllowIsolation and value = true

1>  name = SuppressStartupBanner and value = true

1>  name = TrackerLogDirectory and value = hi3516\Debug\

1>  name = MinimalRebuildFromTracking and value = true

1>  name = ImportLibrary and value =F:\projects\src\nvs_dev\src\ipc\vs_app\hi3516\Debug\defaults.lib

1>  name = OutputFile and value = F:\projects\src\nvs_dev\src\ipc\vs_app\hi3516\Debug\defaults.dll

1>  name = ManifestFile and value =hi3516\Debug\defaults.dll.intermediate.manifest

1>  name = ProgramDatabaseFile and value =F:\projects\src\nvs_dev\src\ipc\vs_app\hi3516\Debug\defaults.pdb

1>  name = Profile and value = false

1>  name = ProfileGuidedDatabase and value =F:\projects\src\nvs_dev\src\ipc\vs_app\hi3516\Debug\defaults.pgd

1>  name = EnableUAC and value = true

1>  name = UACExecutionLevel and value = AsInvoker

1>  name = UACUIAccess and value = false

1>  name = LinkErrorReporting and value = PromptImmediately

1>  name = AcceptableNonZeroExitCodes and value =

1>  name = RandomizedBaseAddress and value = true

1>  name = DataExecutionPrevention and value = true

1>  name = CLRImageType and value = Default

1>  name = KeyFile and value =

1>  name = DelaySign and value =

1>  name = Driver and value = NotSet

1>  name = RegisterOutput and value = false

1>  name = PerUserRedirection and value = false

1>  name = TurnOffAssemblyGeneration and value = false

1>  name = GenerateMapFile and value = false

1>  name = MapExports and value = false

1>  name = SwapRunFromCD and value = false

1>  name = SwapRunFromNET and value = false

1>  name = IgnoreEmbeddedIDL and value = false

1>  name = TypeLibraryResourceID and value = 1

1>  name = NoEntryPoint and value = false

1>  name = SetChecksum and value = false

1>  name = ShowProgress and value = NotSet

1>  name = AdditionalDependencies and value =pthread;kernel32.lib;user32.lib;kernel32.lib;user32.lib;

1>  name = LinkDLL and value = true

1>  name = TargetMachine and value = MachineARM

1>  name = GenerateDebugInformation and value = true

1>  name = FullPath and value =F:\projects\src\nvs_dev\src\ipc\vs_app\defaults\hi3516\Debug\defaults.obj

1>  name = RootDir and value = F:\

1>  name = Filename and value = defaults

1>  name = Extension and value = .obj

1>  name = RelativeDir and value = hi3516\Debug\

1>  name = Directory and value =projects\src\nvs_dev\src\ipc\vs_app\defaults\hi3516\Debug\

1>  name = RecursiveDir and value =

1>  name = Identity and value = hi3516\Debug\defaults.obj

1>  name = ModifiedTime and value =

1>  name = CreatedTime and value =

1>   name = AccessedTimeand value =

Vs2012

Gcc

$(AdditionalDependencies)

附加库

以;号做为分隔,每一项直接加上-l传递给链接器

$(AdditionalLibraryDirectories)

附加库目录,可以使用VS的宏,自动转换为Linux路径

$( AdditionalOptions)

附加选项,原样传递给gcc做链接参数




0 0