未解析的外部'_main'引用自 C0X32。OBJ


#include <CkMailMan.h>
#include <CkEmail.h>
#include <stdio>
void ChilkatSample(void)
    {
//  The mailman object is used for sending and receiving email.
CkMailMan mailman;
//  Any string argument automatically begins the 30-day trial.
bool success;
success = mailman.UnlockComponent("30-day trial");
if (success != true) {
    printf("%sn",mailman.lastErrorText());
    return;
}
//  Set the SMTP server.
mailman.put_SmtpHost("smtp.chilkatsoft.com");
//  Set the SMTP login/password (if required)
mailman.put_SmtpUsername("myUsername");
mailman.put_SmtpPassword("myPassword");
//  Create a new email object
CkEmail email;
email.put_Subject("This is a test");
email.put_Body("This is a test");
email.put_From("Chilkat Support <support@chilkatsoft.com>");
email.AddTo("Chilkat Admin","admin@chilkatsoft.com");
//  To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.
//  Call SendEmail to connect to the SMTP server and send.
//  The connection (i.e. session) to the SMTP server remains
//  open so that subsequent SendEmail calls may use the
//  same connection.
success = mailman.SendEmail(email);
if (success != true) {
    printf("%sn",mailman.lastErrorText());
    return;
}
//  Some SMTP servers do not actually send the email until
//  the connection is closed.  In these cases, it is necessary to
//  call CloseSmtpConnection for the mail to be  sent.
//  Most SMTP servers send the email immediately, and it is
//  not required to close the connection.  We'll close it here
//  for the example:
success = mailman.CloseSmtpConnection();
if (success != true) {
    printf("Connection to SMTP server not closed cleanly.n");
}
printf("Mail Sent!n");
}

我尝试使用Chilkat库发送STMP邮件。我收到一个错误:"从C0X32.OBJ引用的未解析的外部'_main'。"

您需要一个main()函数,这是(托管)实现的C入口点。

可以像添加:

一样简单
int main (void) {
    ChilkatSample();
    return 0;
}

到你的代码,或者它可能会更复杂。

但底线是,你的实现启动代码(在C0X32.OBJ)正试图找到main,所以它可以开始运行你的程序正确。


此外,如果您在stdio标头之后,您应该使用:

#include <stdio.h>

您错过了程序入口点,即int main()

添加main函数如下

int  main ( int arc, char **argv ) 
{
    ChilkatSample();
    return 0;
}
现在,您的代码应该如下所示,并且应该能够编译
#include <CkMailMan.h>
#include <CkEmail.h>
#include <stdio>
void ChilkatSample(void)
    {
//  The mailman object is used for sending and receiving email.
CkMailMan mailman;
//  Any string argument automatically begins the 30-day trial.
bool success;
success = mailman.UnlockComponent("30-day trial");
if (success != true) {
    printf("%sn",mailman.lastErrorText());
    return;
}
//  Set the SMTP server.
mailman.put_SmtpHost("smtp.chilkatsoft.com");
//  Set the SMTP login/password (if required)
mailman.put_SmtpUsername("myUsername");
mailman.put_SmtpPassword("myPassword");
//  Create a new email object
CkEmail email;
email.put_Subject("This is a test");
email.put_Body("This is a test");
email.put_From("Chilkat Support <support@chilkatsoft.com>");
email.AddTo("Chilkat Admin","admin@chilkatsoft.com");
//  To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.
//  Call SendEmail to connect to the SMTP server and send.
//  The connection (i.e. session) to the SMTP server remains
//  open so that subsequent SendEmail calls may use the
//  same connection.
success = mailman.SendEmail(email);
if (success != true) {
    printf("%sn",mailman.lastErrorText());
    return;
}
//  Some SMTP servers do not actually send the email until
//  the connection is closed.  In these cases, it is necessary to
//  call CloseSmtpConnection for the mail to be  sent.
//  Most SMTP servers send the email immediately, and it is
//  not required to close the connection.  We'll close it here
//  for the example:
success = mailman.CloseSmtpConnection();
if (success != true) {
    printf("Connection to SMTP server not closed cleanly.n");
}
printf("Mail Sent!n");
}
int  main ( int arc, char **argv ) 
{
    ChilkatSample();
    return 0;
}

相关内容

  • 没有找到相关文章

最新更新