dll is recognized on PCs in development environment but not on other PCs

Asked 2 years ago, Updated 2 years ago, 125 views

Created dll from x86 Native Tools Command Prompt for VS 2017 in visual c++ 2017.

In the development environment, the dll worked correctly, but when I copied the dll to another pc, it was not recognized. (If dll is recognized, the option that the application should appear is not visible.)
There are no errors at all.

I thought the library was not enough, so I looked for a link option equivalent to -static in g++, but I couldn't find it and I didn't know what to do.
How can I make a PC outside of the development environment recognize dll?
Thank you for your cooperation.

The makefile looks like this:

CORE_DIR=../..
MY_DIR=e: /irensei19

CC = cl
CFLAGS=/c-I../..-I$(MY_DIR)- 
I$(MY_DIR)/tiny-dnn-1.0.0a2/F67108864/bigobj/O2/arch:AVX/EHsc

OBJS = airandom.obj game.obj StringData.obj\
    irensei_rule_description.obj 
    ironsei_ai_descriptor.obj\
    Init.obj Point.obj PointSet.obj Board.obj 
    MyGame.objMinSet.objTerritory.objMCTAI.obj 
    MCTAI2.objMCTAI3.objMCTAI4.objUCTNode.obj\
    Board 8.obj PointSet 8.obj Board 13.obj 
    PointSet13.objDataBase.obj Pattern13.obj 
    Pattern 19.obj Feature.obj DNNAI.obj DNNAI2.obj 
    DNNMove.obj TestAI.obj

    OBJS2 = Init.obj Point.obj PointSet.obj 
    Board.objMyGame.objMinSet.objTerritory.obj 
    MCTAI.obj UCTNode.obj\
    Board 8.obj PointSet 8.obj Board 13.obj 
    PointSet13.objMCTAI2.objDataBase.obj

airandom.dll:$(OBJS)
    $(CC)/LD-O2$(OBJS)
    cpairandom.dlle:\irensei

Init.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Init.cpp

Point.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Point.cpp

DataBase.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/DataBase.cpp

PointSet.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/PointSet.cpp

Board.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Board.cpp

MyGame.obj:
    $(CC)$(CFLAGS)MyGame.cpp 

MinSet.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MinSet.cpp

Territory.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Territory.cpp

MCTAI.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MCTAI.cpp

MCTAI2.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MCTAI2.cpp

MCTAI3.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MCTAI3.cpp

MCTAI 4.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MCTAI4.cpp

MCTAI_mt.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MCTAI_mt.cpp

MCTAI_mt2.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/MCTAI_mt2.cpp

TestAI.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/TestAI.cpp

DLAI.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/DLAI.cpp

EvalAI.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/EvalAI.cpp

Feature.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Feature.cpp


Board 8.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Board 8.cpp

PointSet 8.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/PointSet 8.cpp

Board 13.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Board13.cpp

PointSet13.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/PointSet13.cpp

Pattern 13.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Pattern13.cpp

Pattern 19.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/Pattern19.cpp

EvalDL.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/EvalDL.cpp

DNNAI.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/DNNAI.cpp

DNNAI2.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/DNNAI2.cpp

DNNMove.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/DNNMove.cpp


UCTNode.obj:
    $(CC)$(CFLAGS)$(MY_DIR)/UCTNode.cpp

airandom.obj —airandom.cpp
    $(CC)$(CFLAGS)airandom.cpp


aiirandom.obj: aiirandom.c
    $(CC)$(CFLAGS)aiirandom.c

game.obj:$(CORE_DIR)/game.cpp
    $(CC)$(CFLAGS)$(CORE_DIR)/game.cpp

StringData.obj:$(CORE_DIR)/StringData.cpp
    $(CC)$(CFLAGS)$(CORE_DIR)/StringData.cpp

irensei_ai_descriptor.obj: 
$(CORE_DIR)/irensei_ai_descriptor.c
    $(CC)$(CFLAGS) 
$(CORE_DIR)/irensei_ai_descriptor.c

irensei_rule_description.obj: 
$(CORE_DIR)/irensei_rule_description.c
    $(CC)$(CFLAGS) 
$(CORE_DIR)/irensei_rule_description.c

US>clean:
    rm*.obj*.dll

visual-c++

2022-09-30 17:57

2 Answers

The comments seem to have been resolved, so I will edit and transfer the answers.

I added /arch:AVX to the compilation option, but it seems that the reason is that the other computers were very old and did not have AVX.

/arch:SSE2 and the choice appeared.I can't believe there's no AVX these days...
By the way, when I tried to build Dependencies, I got an error, so I looked at Dependencies walker and found that dependencies were OK.


2022-09-30 17:57

Link Options Equivalent to -static in g++

How about adding /MT to CFLAGS

?


2022-09-30 17:57

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.