吾爱光设

 找回密码
 注册
会员须知
会员须知
实用帮助
实用帮助
查看: 12940|回复: 3

[求助] 请教下用C++打开ZEMAX自定义文件时出现错误

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-23 13:15
  • 签到天数: 3461 天

    [LV.Master]伴坛终老

    1235

    主题

    5658

    回帖

    909

    积分

    管理员

    积分
    909

    论坛忠实支持者

    发表于 2016-8-31 15:41 | 显示全部楼层 |阅读模式
    在用c++对zemax自定义面型文件.c格式文件进行编译时,一直出现
    错误        1        error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用        c:\Users\man\documents\visual studio 2013\Projects\ConsoleApplication9\ConsoleApplication9\MSVCRTD.lib(crtexe.o请教下这个怎么解决呢

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-12-29 15:43
  • 签到天数: 337 天

    [LV.8]以坛为家I

    8

    主题

    554

    回帖

    757

    积分

    荣誉版主

    积分
    757

    优秀版主论坛忠实支持者

    发表于 2016-9-1 08:20 | 显示全部楼层
    为什么要用C++打开Zemax呢?
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-23 13:15
  • 签到天数: 3461 天

    [LV.Master]伴坛终老

    1235

    主题

    5658

    回帖

    909

    积分

    管理员

    积分
    909

    论坛忠实支持者

     楼主| 发表于 2016-9-1 08:24 | 显示全部楼层
    learner 发表于 2016-9-1 08:20
    为什么要用C++打开Zemax呢?

    想自定义一个新的面型,需要用C++将.c文件编译为dll格式文件
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情

    2024-3-9 22:44
  • 签到天数: 2636 天

    [LV.Master]伴坛终老

    19

    主题

    295

    回帖

    454

    积分

    初级

    积分
    454

    论坛忠实支持者

    发表于 2016-9-2 23:59 | 显示全部楼层
    这是一个c++问题,
    以下为复制粘贴内容



    一,问题描述

    MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用

    Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令

    error LNK2001: unresolved external symbol _WinMain@16

    debug/main.exe:fatal error LNK 1120:1 unresolved externals

    error executing link.exe;

    二,产生这个问题可能的原因

    1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.

    2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。

    三, 解决方法

    1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS

    2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.

    3.保存设置,Rebuild All.

    VS2005中的设置请参考对应项进行设置

    四,VS2005中的设置

    1.菜单中选择 Project->Properties, 弹出Property Pages窗口

    2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.

    3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)

    4.Rebuild All. Ok ?
    2018-1-23 00:46 大吉大利,今晚吃鸡!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-11-23 17:01 , Processed in 0.156250 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表