clping命令的使用使用

4738人阅读
cl.exe所在的文件夹里面有一个批处理叫做 VSVAR32.BAT 首先运行它一次,你就可以用cl.exe来编译你的代码了。 CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。 注意,所有编译器选项都区分大小写。 若要编译但不链接,请使用 /c。 使用 NMAKE 生成输出文件。 使用 BSCMAKE 支持类浏览。 以下是一个完整的编译器选项分类列表。 优化 选项 作用 /O1 创建小代码 /O2 创建快速代码 /Oa 假设没有别名 /Ob 控制内联展开 /Od 禁用优化 /Og 使用全局优化 /Oi 生成内部函数 /Op 改善浮点数一致性 /Os 代码大小优先 /Ot 代码速度优先 /Ow 假定在函数调用中使用别名 /Ox 使用最大优化 (/Ob1gity /Gs) /Oy 省略框架指针 代码生成 选项 作用 /clr 启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件 /EH 指定异常处理模型 /G3 优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项 /G4 优化代码以优选 486 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项 /G5 优化代码以优选 Pentium /GB 与 /G6 等效;将 _M_IX86 的值设置为 600 /Gd 使用 __cdecl 调用约定 /Ge 激活堆栈探测 /GF /GF 启用字符串池 /GH 调用挂钩函数 _penter /GH 调用挂钩函数 _pexit /GL 启用全程序优化 /Gm 启用最小重新生成 /Gr 启用运行时类型信息 (RTTI) /Gr 使用 __fastcall 调用约定 /GS 控制堆栈探测 /GT 支持使用静态线程本地存储区分配的数据的纤程安全 /GX 启用同步异常处理 /Gy 启用函数级链接 /GZ 使用 __stdcall 调用约定 /MD 使用 MSVCRT.lib 创建多线程 DLL /MDd 使用 MSVCRTD.lib 创建调试多线程 DLL /ML 使用 LIBC.lib 创建单线程可执行文件 /MLd 使用 LIBCD.lib 创建调试单线程可执行文件 /MT 使用 LIBCMT.lib 创建多线程可执行文件 /MTd 使用 LIBCMTD.lib 创建调试多线程可执行文件 输出文件 选项 作用 /FA /FA 创建列表文件 设置列表文件名 /Fd 重命名程序数据库文件 /Fe 重命名可执行文件 /Fm 创建映射文件 /Fo 创建对象文件 /Fp 指定预编译头文件名 /FR /FR 生成浏览器文件 /Fx 将插入的代码与源文件合并 调试 选项 作用 /GS 缓冲区安全检查 /GZ 与 /RTC1 相同 /RTC 启用运行时错误检查 /Wp64 检测 64 位可移植性问题 /Yd 将完整的调试信息放在所有对象文件中 /Yl 创建调试库时插入 PCH 引用 /Z7 生成与 C 7.0 兼容的调试信息 /Zd 生成行号 /Zi 生成完整的调试信息 预处理器 选项 作用 /AI 指定在解析传递到#using 指令的文件引用时搜索的目录 /c 在预处理期间保留注释 /D 定义常数和宏 /E 将预处理器输出复制到标准输出 /EP 将预处理器输出复制到标准输出 /Fl 预处理指定的包含文件 /FU 强制使用文件名,就像它已被传递到#using 指令一样 /I 在目录中搜索包含文件 /P 将预处理器输出写入文件 /U 移除预定义宏 /U 移除所有的预定义宏 /X 忽略标准包含目录 /ZI 将调试信息包含在与“编辑并继续”兼容的程序数据库中 语言 选项 作用 /noBool 取消 C++ bool、true 和 false 关键字 /vd 取消或启用隐藏的 vtordisp 类成员 /vmb 对指向成员的指针使用最佳的基 /vmg 对指向成员的指针使用完全一般性 /vmm 声明多重继承 /vms 声明单一继承 /vmv 声明虚拟继承 /Za 禁用语言扩展 /Zc 在 /Ze 下指定标准行为 /Ze 启用语言扩展 /Zg 生成函数原型 /Zl 从 .obj 文件中移除默认库名 /Zp n 封装结构成员 /Zs 只检查语法 链接 选项 作用 /F 设置堆栈大小 /LD 创建动态链接库 /LDd 创建调试动态链接库 /link 将指定的选项传递给 LINK /MD 使用 MSVCRT.lib 编译以创建多线程 DLL /MDd 使用 MSVCRTD.lib 编译以创建调试多线程 DLL /ML 使用 LIBC.lib 编译以创建单线程可执行文件 /MLd 使用 LIBCD.lib 编译以创建调试单线程可执行文件 /MT 使用 LIBCMT.lib 编译以创建多线程可执行文件 /MTd 使用 LIBCMTD.lib 编译以创建调试多线程可执行文件 预编译头 选项 作用 /Y- 忽略当前生成中的所有其他预编译头编译器选项 /Yc 创建预编译头文件 /Yd 将完整的调试信息放在所有对象文件中 /Yu 在生成期间使用预编译头文件 /YX 自动处理预编译头 杂项 选项 作用 @ 指定响应文件 /? 列出编译器选项 /c 编译但不链接 /H 限制外部(公共)名称的长度 /HELP 列出编译器选项 /J 更改默认的 char 类型 /NOLOGO 取消显示登录版权标志 /QI0f 确保 Pentium 0F 指令没有问题 /QIfdiv FDIV、FPREM、FPTAN 和 FPATAN 指令有缺陷的 Intel Pentium 微处理器的变通方法 QIfist 当需要从浮点类型转换为整型时取消 Helper 函数 _ftol 的调用 /showIncludes 在编译期间显示所有包含文件的列表 /Tc /Tc 指定 C 源文件 /Tp /Tp 指定 C++ 源文件 /V 设置版本字符串 /w 设置警告等级 /w 禁用所有警告 /Wall 启用所有警告,包括默认情况下禁用的警告 /WL 在从命令行编译 C++ 源代码时启用错误信息和警告消息的单行诊断 /Zm 设置编译器的内存分配限制 CL 命令行使用下列语法: CL [option...] file... [option | file]... [lib...] [@command-file] [/link link-opt...] 下表说明CL 命令的输入项意义 option 一个或多个 CL 选项。请注意,所有选项都应用于所有指定的源文件。选项是由一个正斜杠 (/) 或一个短划线 (–) 指定的。如果某个选项带有参数,则该选项的说明指定在选项和参数之间是否允许有空格。选项名(/HELP 选项除外)区分大小写。有关更多信息,请参阅 CL 选项的顺序。 file 一个或多个源文件、.obj 文件或库的名称。CL 编译源文件并将 .obj 文件和库的名称传递给链接器。有关更多信息,请参阅 CL 文件名语法。 lib 一个或多个库名。CL 将这些名称传递给链接器。 command-file 包含多个选项和文件名的文件。有关更多信息,请参阅 CL 命令文件。 link-opt 一个或多个链接器选项。CL 将这些选项传递给链接器。 您可以指定任意数目的选项、文件名和库名,条件是命令行上的字符数不超过 1024,该限制是操作系统指定的。 CL 命令文件请参见 设置编译器选项 | 编译器选项 命令文件是一个文本文件,它包含您另外在命令行上键入或使用 CL 环境变量指定的选项和文件名。CL 接受在 CL 环境变量中或命令行上用作参数的编译器命令文件。与命令行或 CL 环境变量不同,命令文件允许使用多行选项和文件名。 命令文件中的选项和文件名将根据 CL 环境变量中或命令行上的命令文件名的位置被进行处理。但是,如果 /link 选项出现在命令文件中,则该行其余部分的所有选项将被传递给链接器。命令文件的后面几行中的选项和命令行上命令文件调用之后的选项仍被作为编译器选项接受。 命令文件一定不能包含 CL 命令。每个选项必须在同一行上开始和结束;不能使用反斜杠 (/) 跨行组合一个选项。 命令文件用一个 @ 符后接一个文件名指定;该文件名可指定绝对路径或相对路径。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:100488次
积分:1303
积分:1303
排名:第13999名
原创:23篇
转载:36篇
评论:33条
(1)(1)(2)(2)(7)(4)(3)(7)(7)(1)(2)(9)(2)(4)(7)在ubuntu下
使用
java -classpath third.jar -jar My.jar arg0 arg1
老是提示找不到 third.jar 中的类
请问各位 如何在命令行里添加 第三方包到 classpath里?问题补充:yanjq@yanjq-desktop:~/Desktop/lib$ ls
commons-codec-1.3.jar& jdom.jar& junit-3.8.1.jar& log4j-1.2.9.jar& mysql-connector-java-5.1.6-bin.jar& poi.jar& uncommons-maths-1.0.2.jar
yanjq@yanjq-desktop:~/Desktop$ java -classpath .:lib/poi.jar -jar& NewDataUtil.jar -a add -t product -l log/abc.log -d add/0527/北京商品价格表.xls
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/POIFSFileSystem
at com.eryiju.data.processor.DataProcessor.addData(DataProcessor.java:110)
at com.eryiju.data.processor.DataUtil.main(DataUtil.java:22)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.poifs.filesystem.POIFSFileSystem
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 2 more
无论在classpath 后面加 “绝对路径”还是 “.:相对路径” 或者 “.:绝对路径”,都抛出这个异常
java -classpath .:third.jar -jar My.jar arg0 arg1
试试这样。
用绝对路径,而不是相对路径
已解决问题
未解决问题CL-5_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
5页¥2.0069页免费41页免费4页¥2.003页¥2.0034页免费13页免费4页免费4页免费45页2下载券
喜欢此文档的还喜欢30页1下载券20页1下载券18页1下载券24页1下载券29页1下载券
CL-5|A​S0相​关​文​档
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢Windows下用cl命令编译opencv程序教程_中华文本库
第1页/共2页
文本预览:
Windows 下用 cl 命令编译 opencv 程序教程
献给有需要的学子~希望能帮到你们,哪怕是一点点 这是篇教程的我用的版本是 opencv2.4.4,windows 平台是 win7 和 win8 下都实现过,其他的版本我就没有试过了。这个是 2.4.4 的目录文件
1.设置电脑的环境变量-path.
进入高级系统设置,先在系统变量的 Path 中添加以下目录 ...\opencv\build\x86\vc11\bin (电脑中安装的 vs2012 的用 vc11,vs2010 的用 vc10) ..\opencv\build\x86\vc11\lib (这里是 vs2012 中配置 opencv 的步骤, 所以经过 vs2012 成功配 置的同学这步一般是完成了的)
2.设置 include 变量
在用户环境变量中新建 include 变量如果有就直接进入添加。添 加如下:
…\opencv\build\include …\opencv\include\
…\opencv\include\opencv …\opencv\include\opencv2
3.设置 lib 变量
同上一步在用户的环境变量中添加 lib 变量名 添加地址:…\opencv\build\x86\vc11\lib
至此环境变量的配置已经完成,为了使环境变量生效,需要注销 一下电脑或者重启一下 (提醒:win8 的注销是按 Ctrl+alt+delete)
4.接下来是 cmd 运行部分
如果运行 cl 命令出现以下错误,没有的同学跳过这步
首先确定在环境变量中的 path 是否添加好 vs 的安装目录如下
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin 没有请添加,不如 cl 是没有用的,cl.exe 就是在这个文件目录下 然后在 cmd 中运行 vcvars32.bat。再运行 cl 如下
首先在某个盘的目录下用记事本新建一个 1.cpp 文件 (就是把.Txt 后缀改为.cpp)然后写入一个关于 opencv 的程序我的目录如下 程序如下:
#include "cv.h" #include"highgui.h" int main(int argc,char* argv[]) { cvNamedWindow( "avi"); CvCapture* capture = cvCreateFileCapture( "03.avi");//cvCreateFileCapture 改成 cvCreateCameraCapture 即可。
IplImage* while(1) { frame = cvQueryFrame(capture); if(!frame) cvShowImage( "avi"frame); char c = cvWaitKey(33); if(c == 27) } cvReleaseCapture(&capture); cvDestroyWindow( "avi"); return 0; }
然后在 cmd 下进入文件目录,然后运行 cl -c /EHsc 1.cpp
在文件目录下就多出了一个 1.obj 文件
6.link 链接
最后是把 1.obj 链接成为一个 1.exe 这步很关键 如果直接运行 link1.obj 会出现如下类似错误
这个主要是 lib 库没有加上去然后加上 LIB 库就可以了 运行如下命令 link 1.obj opencv_calib3d244d.lib opencv_contrib244d.lib
opencv_core244d.lib opencv_features2d244d.lib opencv_flann244d.lib opencv_gpu244d.lib opencv_haartraining_engined.lib opencv_highgui244d.lib opencv_imgproc244d.lib opencv_legacy244d.lib opencv_ml244d.lib opencv_nonfree244d.lib opencv_objdetect244d.lib opencv_photo244d.lib opencv_stitching244d.lib opencv_ts244d.lib opencv_video244d.lib
opencv_videostab244d.lib
文件目录中就成功生成了一个 1.exe 所以
第1页/共2页
寻找更多 ""

我要回帖

更多关于 jar命令使用 的文章

 

随机推荐